/* Arcane Tech — presentation only; no remote fonts or runtime dependencies. */
:root{--bg:#0b0e15;--panel:#111721;--panel2:#192330;--panel3:#24313e;--line:#2c3848;--text:#e5eaf2;--muted:#a0afc2;--accent:#a0d7df;--accent2:#96d4df;--ink:#112129;--violet:#b4a3db;--gold:#cebd8f}
body{line-height:1.6}button,input,textarea{ -webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,.fileButton:focus-within{outline:2px solid var(--accent);outline-offset:4px}button:disabled{cursor:not-allowed}
.shell{width:100%;max-width:none;margin:0;padding:calc(26px + var(--safeT)) max(clamp(28px,3.2vw,64px),var(--safeR)) calc(118px + var(--safeB)) max(clamp(28px,3.2vw,64px),var(--safeL));background:radial-gradient(ellipse at 95% 0%,#30243a30,transparent 46%)}
.top{padding-bottom:23px;border-bottom:1px solid var(--line);margin-bottom:34px;gap:16px;flex-wrap:wrap}.brand{display:flex;gap:14px;align-items:center;font-weight:500;letter-spacing:.15em}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.2em;margin-top:3px}.brand-mark{font-size:30px;color:var(--accent);width:43px;height:43px;display:grid;place-items:center;border:1px solid #58727d;border-radius:12px 2px 12px 2px;box-shadow:0 0 22px #96d4df0c}.top-tools{display:flex;align-items:center;gap:14px}.version{letter-spacing:.1em;font-size:11px}.view-content{animation:arcane-arrive .28s ease both}.hero{margin:0 0 28px;gap:20px}.hero h1{font-weight:500;font-size:30px;letter-spacing:.04em;line-height:1.4}.hero p{font-size:14px;margin-top:9px}.eyebrow{color:var(--gold);letter-spacing:.2em;margin-bottom:8px;font-size:11px}h2{font-weight:500}.primary,.secondary,.danger,.iconbtn{border-radius:9px;min-height:44px}.primary{background:#203842;color:#def2f5;border:1px solid #486572;font-weight:500}.primary:hover{background:#2a4955}.chip{min-height:40px}.chip.active{background:#263e47;color:#d5eef2;border-color:#527080}.chip.active:hover{background:#304d58}.chip{transition:background .18s,border-color .18s}.tagbar{padding-bottom:18px;border-bottom:1px solid #29324188;margin-bottom:27px}.tagscroll{min-width:0}
.nav{background:#0f1722f5;border-color:#364454;box-shadow:0 14px 45px #0006;border-radius:15px;padding:7px;gap:6px;max-width:calc(100% - 24px);-webkit-backdrop-filter:blur(16px)}.nav button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;white-space:nowrap;transition:background .2s,color .2s}.nav button.active{background:#20333e;color:#bce5eb;box-shadow:inset 0 1px #789fab38}.nav-symbol{font-size:20px}.fab{border:1px solid #617f8d;background:#1d3844;color:#cff4f7;box-shadow:0 0 22px #96d4df14}.fab:active{transform:scale(.94)}.app-caption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:42px;padding-top:16px;color:var(--muted);font-size:11px;letter-spacing:.08em}
.home-ritual{display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;padding:30px 36px;border:1px solid #364956;border-radius:14px;background:linear-gradient(115deg,#14242d,#181a27);overflow:hidden}.home-ritual>div:first-child{min-width:0;position:relative;z-index:1}.home-ritual h2{margin:8px 0;overflow-wrap:anywhere;font-size:25px}.home-ritual .primary{margin-top:18px}.home-ritual .eyebrow{color:var(--accent)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:29px 0 18px}.section-heading h2{font-size:18px;margin:0}.section-heading button{font-size:12px}
.arcane-orbit{position:relative;width:155px;height:155px;border:1px solid #96d4df55;border-radius:50%;flex:none;display:grid;place-items:center}.arcane-orbit:before{content:"";position:absolute;inset:12px;border:1px dashed #96d4df66;border-radius:50%;animation:arcane-orbit 50s linear infinite}.arcane-orbit:after{content:"";position:absolute;inset:34px;border:1px solid #b4a3db66;animation:arcane-orbit 65s linear infinite reverse}.arcane-orbit span{position:absolute;inset:26px;border:1px solid #96d4df22;border-radius:50%}.arcane-orbit b{color:var(--accent);font-size:38px;font-weight:400;text-shadow:0 0 24px #96d4df66}
.grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:26px 22px}.book{padding:0;min-width:0}.cover{position:relative;border:1px solid #3a4b5b;border-radius:3px 12px 12px 3px;box-shadow:inset 7px 0 #ffffff06,0 8px 18px #0002;background:linear-gradient(145deg,#203542,#141e2b);transition:transform .25s,border-color .25s,box-shadow .25s}.cover:after{content:"";position:absolute;inset:8px;border:1px solid #c9e5ed24;pointer-events:none}.book h3{font-weight:500;font-size:15px;line-height:1.6;overflow-wrap:anywhere;margin-top:13px}.book small{font-size:11px;display:block;overflow-wrap:anywhere}.book-seal{font-size:55px;color:var(--accent);border:1px solid #96d4df44;width:90px;height:90px;border-radius:50%;display:grid;place-items:center}.book:focus-visible .cover,.book:active .cover{border-color:var(--accent);box-shadow:0 0 24px #96d4df20}
.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:20px}.idea{position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;aspect-ratio:4/3;border-radius:14px;background:linear-gradient(140deg,#191c2a,#111923);border:1px solid #3b3b52;transition:border-color .22s,transform .22s,box-shadow .22s;box-shadow:0 5px 16px #0002}.idea:before{content:"";position:absolute;inset:7px;border:1px solid #b4a3db12;border-radius:8px;pointer-events:none;z-index:2}.idea-media{height:48%;flex-shrink:0;width:100%}.idea-body{flex:1;min-height:0;width:100%;padding:16px 20px 14px;display:flex;flex-direction:column;justify-content:space-between;gap:8px}.idea-body p{line-height:1.7;font-size:15px;-webkit-line-clamp:2;overflow-wrap:anywhere;text-align:left;min-height:0}.idea.textOnly .idea-body{padding:26px 24px 20px;height:100%;justify-content:space-between}.idea.textOnly p{-webkit-line-clamp:5;font-size:17px;line-height:1.8}.idea-label{font-size:11px;color:#b5a7d0;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-right:18px;text-align:left}.card-corner{position:absolute;bottom:12px;right:15px;color:#b4a3db7a;font-size:20px;pointer-events:none}.idea:focus-visible,.idea:active{border-color:var(--violet);box-shadow:0 0 26px #b4a3db20}.idea.just-saved{animation:arcane-save 1.25s ease both}.idea.just-saved:after{content:"";position:absolute;inset:-20% auto -20% -40%;width:30%;background:linear-gradient(90deg,transparent,#c0affb24,transparent);transform:skewX(-20deg);animation:arcane-sweep 1s .05s ease-out both;pointer-events:none;z-index:3}
.modalback{background:#04070bc9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.modal{padding:28px;background:linear-gradient(160deg,#1b1c2a,#111923 55%);border:1px solid #514b65;box-shadow:0 25px 80px #0008,0 0 35px #b4a3db0a;animation:arcane-unfold .24s ease-out both}.modal h2{font-weight:500;letter-spacing:.04em}.modal .eyebrow{color:var(--violet)}.modal .field input,.modal .field textarea,.modal .actions input{background:#0c121b;border:1px solid #384454;color:var(--text);border-radius:9px;padding:11px;min-width:0;font-size:16px}.modal .actions input{flex:1;width:140px}.modal .actions{align-items:center}.modal .field textarea{min-height:180px}.modal p{overflow-wrap:anywhere}.modal .tag{color:#c3b5df;border-color:#544966}.modal .primary{background:#302b43;color:#e7ddfa;border-color:#695c83}.toast{border:1px solid #526773;background:#1a2c36;color:#d8edf1;border-radius:12px;box-shadow:0 8px 30px #0005;max-width:calc(100% - 32px);text-align:center;animation:arcane-toast .22s ease-out both}
.map{height:470px;min-height:0;background:radial-gradient(ellipse at 50% 50%,#20293b,#0e151f 72%);border-color:#354052;border-radius:16px}.map:before{content:"";position:absolute;width:270px;height:270px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #96d4df15;border-radius:50%;pointer-events:none}.map-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-links line{stroke:#6c90aa;stroke-width:.25;opacity:.5}.node{width:110px;height:auto;min-height:80px;padding:4px;border:0;border-radius:0;display:flex;align-items:center;flex-direction:column;gap:5px;background:transparent;font-size:13px}.node-core{display:block;width:20px;height:20px;background:#263746;border:1px solid #7293a5;border-radius:50%;box-shadow:0 0 0 7px #96d4df09;transition:background .25s,box-shadow .25s}.node small{font-size:11px;color:var(--muted)}.node.locked{opacity:1;color:#a2aec0}.node.locked .node-core{background:#141c29;border-style:dashed;box-shadow:none}.node[aria-pressed="true"] .node-core{background:var(--accent);border-color:#cdf4f5;box-shadow:0 0 0 8px #96d4df15,0 0 26px #96d4df77}.node[aria-pressed="true"]{color:#ddf2f5}.map-detail{border:1px solid var(--line);border-radius:10px;padding:18px;margin-top:15px;color:var(--muted);background:var(--panel);font-size:13px}.empty{border:1px dashed #354555;background:#11182277;line-height:1.8}
.reader{background:#05080d}.readerTop .secondary,.readerBottom .secondary{background:#111b28eb;border-color:#3b4a5e;color:#dce6f1}.readerStage{background:#05080d}.aiPanel{background:#191925;border-color:#5a4c70}.reader .eyebrow{color:var(--violet)}.reader .secondary{min-height:44px}
@media(hover:hover) and (pointer:fine){.book:hover .cover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 12px 25px #0005,0 0 22px #96d4df12}.idea:hover{transform:translateY(-4px);border-color:#8d7dac;box-shadow:0 12px 27px #0004,0 0 20px #b4a3db0f}}
@keyframes arcane-orbit{to{transform:rotate(360deg)}}@keyframes arcane-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes arcane-unfold{from{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}@keyframes arcane-save{0%,100%{border-color:#3b3b52;box-shadow:0 5px 16px #0002}30%{border-color:#c2b3e5;box-shadow:0 0 30px #b4a3db30}}@keyframes arcane-sweep{to{left:125%}}@keyframes arcane-toast{from{opacity:0;margin-bottom:-7px}to{opacity:1;margin-bottom:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.idea:hover,.book:hover .cover{transform:none}.idea.just-saved:after{display:none}}
@media(max-width:650px){.shell{padding:calc(20px + var(--safeT)) max(18px,var(--safeR)) calc(115px + var(--safeB)) max(18px,var(--safeL))}.top{margin-bottom:25px;gap:10px}.brand{font-size:14px;gap:9px}.brand-mark{width:35px;height:35px;font-size:25px}.top-tools{gap:9px}.version{display:none}.hero h1{font-size:27px}.hero{margin-bottom:22px;gap:16px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 15px}.cards{grid-template-columns:1fr}.nav{gap:2px;width:calc(100% - 32px);max-width:430px;justify-content:space-around}.nav button{flex-direction:column;gap:0;padding:7px 10px;flex:1;font-size:11px}.nav-symbol{font-size:20px}.home-ritual{padding:22px 19px;gap:16px}.home-ritual h2{font-size:20px}.arcane-orbit{width:80px;height:80px}.arcane-orbit:before{inset:7px}.arcane-orbit:after{inset:20px}.arcane-orbit b{font-size:26px}.home-ritual .muted{font-size:12px}.section-heading h2{font-size:17px}.section-heading button{font-size:11px}.modal{padding:20px}.map{height:390px}.node{width:94px;font-size:12px;min-height:74px}.idea.textOnly p{font-size:16px;-webkit-line-clamp:5}.app-caption{font-size:10px}.readerTools{gap:5px}.readerTop .secondary{padding:9px 8px}}
/* Shared outline icons and viewport-level quick capture. */
.ui-icon{display:block;width:22px;height:22px;flex:none;pointer-events:none}
.nav .nav-symbol{display:flex;align-items:center;justify-content:center;line-height:1}
.nav .ui-icon,#manageTags .ui-icon{color:#fff}
#manageTags{display:inline-flex;align-items:center;justify-content:center}
#app>.fab{display:grid;place-items:center;right:max(20px,calc(var(--safeR) + 16px));bottom:calc(var(--nav-height,76px) + 26px + var(--safeB));z-index:110}
#quickIdea .ui-icon{width:28px;height:28px;color:#fff}
#app>.shell{padding-bottom:calc(var(--nav-height,76px) + 100px + var(--safeB))}

@media(min-width:900px){.view-content{width:100%}.grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.project-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.map{height:min(58vh,620px);min-height:500px}.home-ritual{padding:36px clamp(36px,4vw,72px)}}
