:root{--jarvis-dock-space:150px;--jarvis-dock-left:243px;--jarvis-dock-right:35px}
.main{padding-bottom:calc(var(--jarvis-dock-space) + 50px)}
.hero-meta{display:flex;gap:22px;align-items:center}.hero-time{display:grid;gap:4px;text-align:right;font-family:var(--mono);color:#9fd8e7}.hero-time strong{font-size:20px;font-weight:400;letter-spacing:2px}.hero-time span{font-size:6px;letter-spacing:2px;color:#4f879b}
.jarvis-core.core-panel{min-height:325px;padding:14px 12px 49px;background:radial-gradient(ellipse at 50% 45%,#08717818,transparent 68%);gap:0}
.jarvis-core>.hud-heading{position:absolute;top:17px;left:17px;right:17px;z-index:1}
.jarvis-orb-button{display:block;width:min(100%,250px);aspect-ratio:1;border:0;background:none;padding:0;margin:10px auto -21px;position:relative;border-radius:50%;cursor:pointer;color:#b4faf1;touch-action:manipulation}
.jarvis-orb-button canvas{width:100%;height:100%;display:block;pointer-events:none}
.jarvis-orb-button:focus-visible{outline:none}
.jarvis-orb-button:focus-visible::after{content:'';position:absolute;inset:10%;z-index:1;pointer-events:none;color:var(--theme-focus,#77e8e5);background:linear-gradient(currentColor,currentColor) left top/12px 2px,linear-gradient(currentColor,currentColor) left top/2px 12px,linear-gradient(currentColor,currentColor) right top/12px 2px,linear-gradient(currentColor,currentColor) right top/2px 12px,linear-gradient(currentColor,currentColor) left bottom/12px 2px,linear-gradient(currentColor,currentColor) left bottom/2px 12px,linear-gradient(currentColor,currentColor) right bottom/12px 2px,linear-gradient(currentColor,currentColor) right bottom/2px 12px;background-repeat:no-repeat}
@media(forced-colors:active){.jarvis-orb-button:focus-visible::after{background:none;border:2px solid Highlight;border-radius:0}}
.jarvis-orb-button:disabled{cursor:wait}
.core-orb-hint{position:absolute;bottom:22px;left:0;right:0;text-align:center;font:5.5px var(--mono);letter-spacing:1.5px;color:#68aaa9;opacity:0;transition:opacity .2s}.jarvis-orb-button:hover .core-orb-hint,.jarvis-orb-button:focus-visible .core-orb-hint{opacity:1}
.jarvis-core-readout{display:grid;gap:7px;justify-items:center;position:relative;pointer-events:none}
.jarvis-core-readout strong{font:12px var(--mono);letter-spacing:5px;font-weight:400;color:#9edbd9;margin-left:5px}
.jarvis-core-readout>span{font:7px var(--mono);letter-spacing:.6px;color:#568f9a}
.jarvis-core>.hud-foot{align-items:center}.jarvis-core>.hud-foot .textbutton{padding:5px 0;font:6.5px var(--mono);letter-spacing:.4px;text-transform:uppercase}
.core-voice-control{padding:7px 10px;background:#38b7be0d;border:1px solid #5ad4d939;color:#85d9d9;font:7px var(--mono);border-radius:2px;letter-spacing:.3px;white-space:nowrap}
.jarvis-core[data-core-state="listening"] .jarvis-core-readout>span{color:#95e5d4}.jarvis-core[data-core-state="speaking"] .jarvis-core-readout>span{color:#b4eafb}.jarvis-core[data-core-state="thinking"] .jarvis-core-readout>span{color:#92cbdc}.jarvis-core[data-core-state="listening"] .core-voice-control,.jarvis-core[data-core-state="speaking"] .core-voice-control{border-color:#85e6d883;background:#46cfc316;color:#a8f1e0}
.ai-footer-dock{position:fixed;left:var(--jarvis-dock-left);right:var(--jarvis-dock-right);bottom:16px;z-index:12;margin:0;max-width:1640px;scroll-margin-bottom:190px}
.ai-footer-dock .ai-shell{border:1px solid #66d8e848;background:linear-gradient(130deg,#0a2534f5,#061b28f7);backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:5px;box-shadow:0 5px 40px #0008,0 -6px 40px #00101c7a,inset 0 1px #bcf5ff0c}
.ai-footer-dock .ai-head{padding:10px 15px;gap:12px;min-height:39px;background:#56c7d805}
.ai-dock-identity{display:flex;align-items:center;gap:11px;flex-wrap:wrap;min-width:0}.ai-dock-star{color:#83dbde;font-size:16px}.ai-footer-dock .ai-head h2{margin:0;color:#a9d8e2;font:10px var(--mono);letter-spacing:.5px;text-transform:none}
.ai-footer-dock .ai-status{font-size:6px;letter-spacing:.5px;margin-left:4px}.ai-footer-dock .ai-head-actions{gap:12px;flex-wrap:nowrap}.ai-footer-dock .ai-head-actions .textbutton{padding:2px 0;font:8px var(--mono);color:#70b4c6;white-space:nowrap}.ai-footer-dock #ai-configure{font-size:15px;padding:0 3px}
.ai-footer-dock .ai-compose{padding:10px 13px 9px;border-top:0;background:transparent}.ai-footer-dock .ai-form{gap:9px;align-items:center}.ai-footer-dock .ai-form textarea{min-height:44px;max-height:100px;resize:vertical;padding:12px 13px;font-size:12px;line-height:1.5;background:#0417229c;border-color:#5ad4e42a}.ai-footer-dock .ai-form button{min-height:40px;font-size:10px;padding:10px 14px}
.ai-footer-dock .ai-form .ai-voice-button{background:#1b536226;border-color:#65cdda37;color:#8fc6d4}.ai-footer-dock .ai-form .ai-voice-button.is-live{color:#ffc3a6;border-color:#c99a7255}
.ai-dock-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#386e81;font:6px var(--mono);letter-spacing:1px;padding:9px 1px 0}.ai-dock-bottom details{font:8px var(--mono);letter-spacing:0;color:#6195a7;position:relative}.ai-dock-bottom summary{cursor:pointer;list-style:none;user-select:none}.ai-dock-bottom summary::-webkit-details-marker{display:none}.ai-dock-bottom summary:after{content:' ＋';color:#85c3cf}.ai-dock-bottom details[open] summary:after{content:' −'}
.ai-more-content{position:absolute;right:0;bottom:27px;width:min(400px,calc(100vw - 105px));max-height:55vh;overflow:auto;background:#092332f7;backdrop-filter:blur(18px);border:1px solid #6fd7e846;padding:17px;box-shadow:0 10px 40px #0009;border-radius:4px;z-index:3;line-height:1.7}
.ai-more-content .ai-context-label{font:11px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin-bottom:10px}.ai-more-content .ai-toolbar-buttons{gap:18px;margin-bottom:7px}.ai-more-content .ai-toolbar-buttons .textbutton{font-size:10px;padding:6px 0}.ai-more-content .ai-usage{display:block;font-size:8px;line-height:1.8}.ai-more-content .ai-footnote{font:10px/1.8 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#668f9f}
.ai-footer-dock .ai-messages{height:235px;min-height:160px;max-height:35vh;padding:16px 20px;gap:10px;background:#03131f59;border-bottom:1px solid #66d8e81c}.ai-footer-dock .ai-bubble{padding:10px 14px;max-width:88%}.ai-footer-dock .ai-bubble-text{font-size:12px;line-height:1.7}.ai-footer-dock .ai-bubble-label{margin-bottom:6px;font-size:7px}
.ai-footer-dock .ai-welcome{padding:8px}.ai-footer-dock .ai-welcome .ai-orb{display:none}.ai-footer-dock .ai-welcome h2{font-size:16px;margin:10px 0}.ai-footer-dock .ai-welcome p{font-size:10px;margin:0}.ai-footer-dock .ai-welcome .eyebrow{font-size:7px}.ai-footer-dock .ai-suggestions{margin-top:12px}
.ai-footer-dock .ai-voice-bar{padding:9px 15px;font-size:10px}.ai-footer-dock .ai-voice-bar time{font-size:10px}.ai-footer-dock .ai-typing{margin:0 0 8px;font-size:9px}.ai-footer-dock .ai-error{margin:0 0 10px;padding:9px 12px;font-size:11px}.ai-footer-dock #ai-retry{font-size:9px;margin-top:7px;padding:6px 10px}.ai-launch{display:none}
.toast{bottom:calc(var(--jarvis-dock-space) + 30px)}
@media(min-width:1500px){:root{--jarvis-dock-left:258px;--jarvis-dock-right:50px}.jarvis-core.core-panel{min-height:345px}.jarvis-orb-button{width:270px}}
@media(max-width:1180px){:root{--jarvis-dock-left:231px;--jarvis-dock-right:23px}.ai-footer-dock .ai-status{display:none}.ai-footer-dock .ai-form .ai-voice-button{font-size:0;width:40px;padding:0;flex-shrink:0}.ai-footer-dock .ai-form .ai-voice-button:before{content:'◉';font-size:18px}.ai-footer-dock .ai-form .ai-voice-button.is-live:before{content:'■';font-size:14px}}
@media(max-width:760px){:root{--jarvis-dock-left:79px;--jarvis-dock-right:12px}.hero-meta{display:none}.jarvis-core.core-panel{min-height:320px}.jarvis-orb-button{width:min(100%,250px)}.ai-footer-dock{bottom:10px}.ai-footer-dock .ai-head{padding:8px 10px;min-height:32px;flex-direction:row;align-items:center}.ai-dock-identity{gap:6px;flex-wrap:nowrap}.ai-footer-dock .ai-head h2{font-size:8px}.ai-dock-star{font-size:14px}.ai-footer-dock .ai-head-actions{width:auto;gap:8px}.ai-footer-dock .ai-head-actions .textbutton{font-size:6px}.ai-footer-dock .ai-compose{padding:8px}.ai-footer-dock .ai-form{gap:5px;flex-wrap:nowrap}.ai-footer-dock .ai-form textarea{font-size:11px;min-height:42px;max-height:90px;flex-basis:auto;padding:10px}.ai-footer-dock .ai-form button{width:auto;font-size:0;min-height:38px;min-width:31px;padding:0 6px}.ai-footer-dock #ai-send:after{content:'↗';font-size:18px}.ai-footer-dock .ai-form .ai-voice-button{min-width:31px;width:31px}.ai-footer-dock .ai-form .ai-voice-button:before{font-size:15px}.ai-dock-bottom{font-size:5px;letter-spacing:.3px;gap:4px;padding-top:7px}.ai-dock-bottom details{font-size:6px}.ai-footer-dock .ai-messages{padding:12px 9px;height:220px;max-height:35vh}.ai-footer-dock .ai-bubble{max-width:96%;padding:8px 10px}.ai-footer-dock .ai-bubble-text{font-size:11px}.ai-footer-dock .ai-voice-bar{padding:8px;font-size:8px}.ai-footer-dock .ai-voice-bar time{font-size:9px}.ai-footer-dock .ai-welcome h2{font-size:14px}.ai-footer-dock .ai-welcome p{font-size:9px}.ai-footer-dock .ai-suggestions{gap:5px}.ai-footer-dock .ai-suggestions button{font-size:8px;padding:6px 9px}.ai-more-content{padding:13px}.core-orb-hint{opacity:.6}}
@media(prefers-reduced-motion:reduce){.jarvis-orb-button canvas{filter:none}}
