@font-face{font-family:Outfit;src:url('assets/outfit.woff2');font-weight:100 900}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000;color:#e8e2d2;font-family:Outfit,sans-serif;color-scheme:dark}iframe{position:fixed;inset:0;border:0;width:100%;height:100%;display:block;background:#000}#os{z-index:1}#brain{z-index:2;opacity:0;pointer-events:none}#views{z-index:3;display:none;top:var(--chrome-bottom,64px);height:calc(100% - var(--chrome-bottom,64px))}#controls{position:fixed;inset:14px 16px auto;z-index:20;display:flex;align-items:center;justify-content:space-between;pointer-events:none;gap:12px}#controls[hidden],#zoom[hidden]{display:none}.left,.right{display:flex;gap:8px;align-items:center;pointer-events:auto}button,select,a{font:500 12px Outfit,sans-serif;color:#bdb7a7}button,select{background:rgba(15,15,14,.94);border:1px solid rgba(232,226,210,.2);border-radius:5px;min-height:32px;padding:6px 11px;cursor:pointer;white-space:nowrap}button:hover,select:hover{border-color:#ff6b1a;color:#ff8b49}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #ff6b1a;outline-offset:3px}button[aria-pressed=true]{color:#ff8b49;border-color:#b05626}#back{font-size:11px}#motion{display:flex;gap:6px;align-items:center}.drop{position:relative}.dropdown{position:absolute;top:40px;left:0;min-width:174px;background:#111;border:1px solid #34332c;border-radius:6px;padding:8px;box-shadow:0 12px 30px #0007}.dropdown[hidden]{display:none}.dropdown label{display:flex;gap:10px;align-items:center;min-height:32px;padding:0 6px;font-size:12px;cursor:pointer}.dropdown input{accent-color:#ff6b1a}.dropdown label:has(input:disabled){opacity:.55;cursor:default}.dropdown hr{border:0;border-top:1px solid #2c2b26;margin:6px 0}.dropdown a,.dropdown button{display:block;text-align:left;text-decoration:none;padding:9px 6px;border:0;background:none;width:100%}.dropdown a:hover,.dropdown label:hover{background:#222}.dropdown button:hover,.dropdown a:hover{color:#ff8b49}/* Motion speed: a hairline slider under the Motion button, only while Motion is on */
.motion-wrap{position:relative;display:flex}#motion-speed{position:absolute;left:8px;right:8px;top:calc(100% + 7px);width:calc(100% - 16px);height:12px;margin:0;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer}
#motion-speed::-webkit-slider-runnable-track{height:2px;background:#3a3934;border-radius:2px}#motion-speed::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;margin-top:-4px;border-radius:50%;background:#ff8b49;box-shadow:0 0 8px rgba(255,107,26,.6)}
#motion-speed::-moz-range-track{height:2px;background:#3a3934}#motion-speed::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:#ff8b49}
#motion[aria-pressed=false]+#motion-speed,#motion[hidden]+#motion-speed{display:none}

#zoom{position:fixed;bottom:16px;right:16px;display:flex;z-index:15;border:1px solid #35332c;border-radius:5px;overflow:hidden}#zoom button{border:0;border-radius:0;min-width:34px}#zoom button+button{border-left:1px solid #35332c}#notice{position:fixed;bottom:22px;left:50%;transform:translate(-50%,10px);padding:10px 14px;border:1px solid #34332c;background:#111;border-radius:5px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:100}#notice.on{opacity:1;transform:translate(-50%,0)}body.insight .brain-settings{display:none}@media(max-width:650px){#controls{inset:10px 10px auto;gap:5px}button,select{padding:6px 8px;font-size:11px}.left,.right{gap:5px}#motion span{display:none}#back{font-size:0}#back:before{content:'← OS';font-size:11px}}
/* Hidden controls must stay hidden even when their component uses flex. */
[hidden]{display:none!important}
#menu-button{display:flex;align-items:center;gap:8px;color:#ededeb;border-color:#666;background:#111;padding:7px 13px;font-size:13px;font-weight:600}#menu-button:hover,#menu-button[aria-expanded=true]{border-color:#ff6b1a;color:#ff8b49}.dropdown{max-height:calc(100vh - 85px);overflow:auto}#view-tabs{display:flex;gap:2px;padding:3px;background:rgba(9,9,9,.96);border:1px solid #333;border-radius:6px}#view-tabs button{border:1px solid transparent;background:transparent;border-radius:4px;min-height:28px;padding:5px 12px;color:#aaa}#view-tabs button[aria-selected=true]{color:#f1f1ed;border-color:#555;background:#242424}#view-tabs button:hover{color:#ff8b49;border-color:#6e3c22}#view-tabs button:focus-visible{outline-offset:0}.right{gap:10px}#motion{background:#0d0d0d}#motion[aria-pressed=true]{color:#ff8b49}#controls{align-items:flex-start}#controls .left{padding-top:3px}
@media(max-width:1100px){#controls{flex-wrap:wrap;gap:8px}.right{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}#view-tabs button{padding:5px 8px}#view-tabs{gap:1px}}
@media(max-width:760px){#controls{display:grid;grid-template-columns:1fr auto;gap:7px}.left{grid-column:1}.right{grid-column:1 / -1;display:flex;justify-content:flex-start;width:100%;margin:0;gap:7px}#view-tabs{flex:1;min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}#view-tabs button{padding:5px 4px;font-size:10px}#motion span{display:none}}

/* Constant Second Brain heading and map subviews. */
#brain-brand{display:flex;align-items:center;gap:10px;white-space:nowrap;line-height:1;user-select:none}#brain-brand svg{flex-shrink:0;display:block}.b-rubric{font-weight:900;font-size:21px;letter-spacing:4px;color:#eceef4}.b-product{font-weight:200;font-size:21px;letter-spacing:4px;color:#9a9aa6}#view-title{font-size:10.5px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;color:#ff8a3d;margin:7px 0 14px 40px;min-height:13px}.left-shell{pointer-events:auto;flex-shrink:0}#controls .left{padding:0}.right{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.view-row{display:flex;align-items:center;gap:10px}#layout-tabs{display:flex;gap:2px;border-bottom:1px solid #292929;padding:0 0 5px}#layout-tabs button{border:0;background:transparent;color:#888;min-height:26px;padding:4px 13px}#layout-tabs button[aria-pressed=true]{color:#ff8b49;background:#17130f}.dropdown{max-height:calc(100vh - 155px)}@media(max-width:1100px){#controls{flex-wrap:nowrap}.right{flex:1}.view-row{justify-content:flex-end;flex-wrap:wrap}#view-tabs button{padding:5px 7px}}@media(max-width:760px){#controls{display:flex;flex-wrap:wrap;gap:10px}.left-shell{width:100%}.left{padding:0}#view-title{margin-bottom:9px}.right{width:100%;align-items:stretch;display:flex}.view-row{width:100%}#view-tabs{width:100%;flex:1}#layout-tabs{justify-content:flex-end}#motion{position:absolute;right:0;top:55px}#layout-tabs button{min-height:25px;padding:3px 14px}#controls .right{gap:6px}}

/* Phones: the seven tabs sit in two rows (4 + 3) under the brand. Kept after the 760px rules so it wins. */
@media(max-width:500px){#view-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}#view-tabs button{font-size:11px;min-height:29px;padding:5px 2px}#controls .right{gap:6px}.b-rubric,.b-product{font-size:16px;letter-spacing:3px}#brain-brand{gap:8px}#brain-brand svg{width:24px;height:24px}#view-title{margin-left:32px}}

/* Refresh icon, top right corner. */
#refresh-data{display:grid;place-items:center;width:36px;min-width:36px;padding:0;color:#aaa;border-color:#333;background:rgba(9,9,9,.96)}
#refresh-data.busy svg{animation:refresh-spin .9s linear infinite;color:#ff8b49}
#refresh-data.ok{color:#7fd28a;border-color:#2f5a35}#refresh-data.fail{color:#ff7a6b;border-color:#6b2f28}
@keyframes refresh-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#refresh-data.busy svg{animation:none}}

/* Always-on file search under the view tabs, like the original Second Brain's ( / ) box. */
#file-search{position:relative;display:flex;align-items:center;gap:8px;width:min(330px,100%);height:38px;padding:0 12px;border:1px solid #2c2b28;border-radius:8px;background:rgba(9,9,9,.94);color:#77746c;pointer-events:auto}
#file-search:focus-within{border-color:#6e3c22;color:#ff8b49}
#file-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:#ece8de;font:400 13px Outfit,sans-serif}
#file-search input::placeholder{color:#7a776f}
#file-search input::-webkit-search-cancel-button{filter:invert(.6)}
#file-search-results{position:absolute;right:-1px;top:calc(100% + 6px);width:min(440px,calc(100vw - 32px));max-height:min(460px,60vh);overflow-y:auto;padding:5px;border:1px solid #2f2e2a;border-radius:8px;background:rgba(8,8,8,.98);box-shadow:0 12px 40px #000c;scrollbar-width:thin;scrollbar-color:#2c2c2a transparent}
#file-search-results .res{display:grid;grid-template-columns:10px minmax(0,1fr);column-gap:9px;align-items:center;padding:7px 8px;border-radius:5px;cursor:pointer}
#file-search-results .res:hover,#file-search-results .res.on{background:#1b1a18}
#file-search-results .dot{width:8px;height:8px;border-radius:50%;grid-row:1 / 3}
#file-search-results .r-name{color:#ece8de;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#file-search-results .r-path{color:#7d7a72;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#file-search-results .res-none,#file-search-results .res-note{padding:9px 8px;color:#8d8a82;font-size:12px}
#file-search-results .res-actions{display:flex;gap:6px;padding:4px 8px 8px}
#file-search-results .res-actions button{min-height:26px;padding:3px 9px;font-size:11px}
@media(max-width:760px){#file-search{width:100%}}
/* Skills and Applications have no zoom: their list sits where the zoom buttons were. */
body[data-view=skills] #zoom,body[data-view=apps] #zoom{display:none!important}
