:root { color-scheme: dark; --bg:#0b0d14; --panel:#171925; --panel2:#1c1f2d; --edge:rgba(219,229,255,.12); --soft:#adb2c3; --white:#f7f4f6; --accent:#e27797; --accent2:#9d7699; --green:#a8ddc9; --r:17px; font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
*{box-sizing:border-box} html,body{height:100%;margin:0} body{color:var(--white);background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer} button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #f7a0be;outline-offset:3px}a{color:#ffb4c9;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.03em}p{line-height:1.6}input,textarea,select{background:#10121c;color:#fff;border:1px solid rgba(255,255,255,.17);border-radius:10px;padding:10px 12px;width:100%;outline:none} textarea{resize:vertical;min-height:110px} select{min-height:42px}input[type=checkbox]{width:auto;accent-color:var(--accent)}label{font-size:12px;font-weight:650;color:#d6d4de;display:grid;gap:7px}small,.muted{color:var(--soft)}.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#e29fb8;font-weight:800}.btn{border:1px solid var(--edge);background:rgba(255,255,255,.07);border-radius:11px;color:#fff;padding:10px 15px;font-weight:650;transition:.18s}.btn:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.24)}.btn.primary{background:linear-gradient(125deg,#d16a8e,#a95c8d);border-color:transparent;color:#fff}.btn.primary:hover{filter:brightness(1.1)}.btn.ghost{border-color:transparent;background:transparent}.btn.danger{color:#ffb5b5;border-color:rgba(255,150,150,.24)}.btn.small{padding:7px 10px;font-size:12px}.btn.iconbtn{height:34px;width:34px;padding:0;display:grid;place-items:center;font-size:18px}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--edge);border-radius:99px;font-size:11px;color:#d0d0da;background:#ffffff08}.empty{padding:28px;text-align:center;color:var(--soft);border:1px dashed var(--edge);border-radius:14px}.note{background:rgba(226,119,151,.08);border:1px solid rgba(226,119,151,.25);padding:12px 14px;border-radius:12px;color:#f5c1d3;font-size:13px;line-height:1.5}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:grid;gap:12px}.hide{display:none!important}
/* Welcome screen */
.welcome{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(370px,.8fr);background:radial-gradient(ellipse at 25% 20%,#48273f 0,transparent 42%),radial-gradient(ellipse at 55% 100%,#182b32 0,transparent 44%),#0a0c13}.welcome-art{position:relative;min-height:100svh;display:flex;align-items:center;padding:clamp(28px,7vw,110px);overflow:hidden}.welcome-art:before{content:'T';position:absolute;right:-3vw;top:-12vw;font-size:min(100vh,850px);font-weight:950;color:#ffffff08;line-height:1;transform:rotate(-8deg);pointer-events:none}.welcome-content{position:relative;max-width:660px}.welcome h1{font-size:clamp(56px,8vw,125px);line-height:.86;letter-spacing:-.09em;margin:24px 0}.welcome h1 span{display:block;color:#db7297}.welcome .lede{font-size:clamp(16px,1.5vw,21px);color:#c8c3d1;max-width:480px}.login-side{border-left:1px solid rgba(255,255,255,.1);display:grid;align-content:center;justify-items:center;padding:32px;background:#0c0e17bd;backdrop-filter:blur(25px)}.login-card{width:min(100%,390px)}.seal{height:68px;width:68px;display:grid;place-items:center;font-size:35px;border-radius:23px;background:linear-gradient(135deg,#d46e91,#543147);margin-bottom:32px;box-shadow:0 15px 60px #d46e912b}.login-card h2{font-size:29px}.login-card .btn{width:100%;margin-top:13px;padding:14px}.welcome-footer{position:absolute;left:clamp(28px,7vw,110px);bottom:24px;color:#a69baa;font-size:12px}.login-card hr{border:0;border-top:1px solid var(--edge);margin:25px 0}
/* Desktop shell */
.desktop{height:100svh;min-height:500px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 48% 8%,#3c263f 0%,transparent 33%),radial-gradient(ellipse at 60% 75%,#102b39 0%,transparent 46%),linear-gradient(145deg,#0d1220,#111019 70%)}.desktop::before{position:absolute;inset:0;content:'';z-index:-1;pointer-events:none;opacity:.2;background-image:repeating-linear-gradient(135deg,transparent,transparent 65px,#ffffff08 66px,transparent 67px)}.desktop::after{position:absolute;inset:0;content:'';z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,transparent 20%,#0008 100%)}.desktop.legacy{background:radial-gradient(ellipse at 50% 50%,#12241c,#050d0b 75%);color:#c3e0bf}.desktop.legacy::before{background:repeating-linear-gradient(to bottom,transparent,transparent 3px,#7ef8ab0b 4px);opacity:.5}.topbar{height:47px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5;background:#070a13a8;backdrop-filter:blur(24px);border-bottom:1px solid #ffffff10;font-size:12px}.brand{font-weight:900;letter-spacing:.05em;font-size:13px}.brand span{color:var(--accent)}.topbar .menu{display:flex;align-items:center;gap:17px}.topbar .menu button{background:none;border:0;color:#e3dce4;padding:4px}.topbar .menu button:hover{color:white}.status{color:#c4bccb;display:flex;gap:16px;align-items:center}.desktop-main{height:calc(100% - 47px);position:relative;padding:40px clamp(24px,5vw,75px) 120px;overflow:auto}.desktop-header{position:relative;pointer-events:none}.desktop-header h1{font-size:clamp(44px,6vw,83px);margin:5px 0 8px;letter-spacing:-.075em}.desktop-header .desc{color:#c8bed0;max-width:440px;font-size:14px}.desktop-header .eyebrow{color:#e5a8bc}.desktop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(114px,1fr));gap:19px;max-width:750px;margin-top:38px}.desktop-tile{border:1px solid transparent;background:#ffffff06;border-radius:18px;min-height:126px;display:flex;align-items:center;flex-direction:column;justify-content:flex-start;gap:12px;padding:15px 7px;color:#fff;transition:.18s;text-align:center}.desktop-tile:hover{background:#ffffff12;border-color:#ffffff22;transform:translateY(-2px)}.tile-icon{width:60px;height:60px;display:grid;place-items:center;border:1px solid #ffffff1e;border-radius:17px;font-size:30px;background:linear-gradient(130deg,#ffffff25,#ffffff05);box-shadow:0 12px 18px #0004}.desktop-tile:nth-child(5n+1) .tile-icon{background:linear-gradient(140deg,#8b3957,#352037)}.desktop-tile:nth-child(5n+2) .tile-icon{background:linear-gradient(140deg,#2b5666,#18323b)}.desktop-tile:nth-child(5n+3) .tile-icon{background:linear-gradient(140deg,#866447,#3d2b29)}.desktop-tile:nth-child(5n+4) .tile-icon{background:linear-gradient(140deg,#53624a,#252e29)}.tile-name{font-size:12px;font-weight:750;line-height:1.25;max-width:106px;overflow-wrap:anywhere}.tile-locked{font-size:10px;color:#e9b3bb}.dock{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 20px);z-index:50;display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #ffffff26;border-radius:19px;background:#161724b8;backdrop-filter:blur(40px);box-shadow:0 25px 80px #000a}.dock button{display:grid;place-items:center;width:47px;height:47px;border-radius:12px;color:white;background:#ffffff10;border:1px solid #ffffff12;font-size:23px;flex-shrink:0}.dock button:hover{background:#ffffff25}.dock-sep{height:34px;width:1px;background:#ffffff35;margin:0 3px}.dock .active{box-shadow:inset 0 -3px 0 var(--accent)}.desktop-hint{position:absolute;right:25px;bottom:107px;text-align:right;font-size:12px;max-width:270px;color:#b4adbd;opacity:.75}
/* window manager */
.window-layer{position:absolute;inset:47px 0 93px;pointer-events:none;z-index:15}.window{pointer-events:auto;position:absolute;inset:clamp(10px,4vh,34px) max(10px,calc((100vw - 1000px) / 2)) auto;width:min(1000px,calc(100vw - 20px));height:min(650px,calc(100svh - 175px));min-height:280px;background:#161823f7;border:1px solid #ffffff28;border-radius:18px;box-shadow:0 45px 110px #000b;overflow:hidden;display:flex;flex-direction:column;backdrop-filter:blur(50px)}.window.narrow{width:min(670px,calc(100vw - 20px));inset:clamp(10px,6vh,55px) max(10px,calc((100vw - 670px) / 2)) auto}.window-head{height:50px;flex-shrink:0;border-bottom:1px solid #ffffff17;display:flex;gap:12px;align-items:center;padding:0 15px;background:#ffffff09}.window-controls{display:flex;gap:7px}.window-controls button{width:13px;height:13px;border-radius:50%;border:0;background:#ff7373;padding:0}.window-controls .minimize{background:#eab65f}.window-controls .maximize{background:#67bf91}.window-title{font-size:12px;color:#c9cbd5;font-weight:700;text-align:center;flex:1;padding-right:38px}.window-body{flex:1;min-height:0;overflow:auto;padding:24px}.content-header{margin-bottom:24px;display:flex;justify-content:space-between;gap:20px;align-items:start}.content-header h2{font-size:28px;margin:4px 0 7px}.content-header p{margin:0;color:var(--soft);font-size:13px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:13px}.content-card{border:1px solid var(--edge);background:linear-gradient(145deg,#ffffff0d,#ffffff04);padding:18px;border-radius:15px}.content-card h3{margin:10px 0 6px;font-size:17px}.content-card p{color:#b8bbc8;font-size:12px;margin-bottom:15px}.content-card .meta{color:#d48ba4;font-size:10px;letter-spacing:.11em;text-transform:uppercase}.content-card .btn{margin-top:6px}.content-card button{max-width:100%}.story{max-width:720px;margin:0 auto}.story h2{font-size:clamp(26px,4vw,44px);line-height:1.15}.story article{white-space:pre-wrap;line-height:1.85;color:#e0dbe1;font-family:Georgia,serif;font-size:17px}.story .btn{margin-bottom:24px}.folder-tile{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:1px solid var(--edge);background:#ffffff0c;padding:14px;border-radius:13px;color:#fff}.folder-tile:hover{background:#ffffff1d}.folder-tile span{font-size:27px}.folder-tile strong{font-size:13px}.playerbar{display:flex;align-items:center;gap:12px;padding:13px;background:#0e1019;border:1px solid var(--edge);border-radius:12px;margin-bottom:16px}.playerbar button{flex-shrink:0}.playerbar small{display:block;font-size:11px}.playerbar strong{font-size:13px}.playerbar .now{min-width:0;overflow:hidden}.warning{border:1px solid #ad795f;background:#67412838;color:#f4c1a5;border-radius:10px;padding:12px 14px;font-size:13px}
/* admin */
.admin-layout{display:grid;grid-template-columns:185px 1fr;gap:25px;min-height:100%}.admin-nav{border-right:1px solid var(--edge);padding-right:15px;display:grid;align-content:start;gap:6px}.admin-nav button{text-align:left;border:0;color:#c6c7d2;background:transparent;padding:11px;border-radius:9px;font-size:12px;font-weight:700}.admin-nav button:hover,.admin-nav button.selected{color:white;background:#dc799626}.admin-section>header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.admin-section h2{margin:0;font-size:23px}.admin-section p{font-size:13px;color:var(--soft)}.admin-table{display:grid;gap:9px}.admin-item{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px;border:1px solid var(--edge);border-radius:13px;background:#ffffff06}.admin-item .item-info{min-width:0}.admin-item .item-info strong{font-size:13px;display:block}.admin-item .item-info small{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis}.admin-item .row{flex-shrink:0}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field-grid .full{grid-column:1/-1}.field-grid .check{display:flex;align-items:center;gap:9px;margin-top:10px}.editor-form{display:grid;gap:18px}.editor-form .row{margin-top:8px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:11px;margin:20px 0}.stat{border:1px solid var(--edge);border-radius:12px;padding:15px;background:#ffffff05}.stat strong{display:block;font-size:26px}.stat span{font-size:11px;color:var(--soft)}.controls{display:grid;gap:13px;max-width:610px}.admin-home{max-width:760px}.list-muted{font-size:12px;color:#9c9fac}.form-hint{font-size:12px;color:#b1b2c0;line-height:1.5}
/* terminal */
.terminal{background:#06110c;color:#8bffb3;font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;border:1px solid #326245;border-radius:13px;min-height:350px;padding:20px;display:flex;flex-direction:column}.terminal-output{flex:1;white-space:pre-wrap;overflow:auto}.terminal-input{display:flex;gap:8px;align-items:center;border-top:1px solid #285539;padding-top:13px}.terminal-input input{font:inherit;background:transparent;color:#afffc6;border:0;outline:none!important;padding:0}.legacy .window{background:#0a180f;border-color:#43865c}.legacy .window-head{background:#193021}.legacy .window-body{background:#0a180f}.legacy .content-card,.legacy .admin-item{border-color:#295c3b}.legacy .eyebrow,.legacy .meta{color:#9be8b3}.legacy .topbar,.legacy .dock{background:#05140cae}
.toast-area{position:absolute;right:20px;bottom:92px;z-index:90;display:grid;gap:9px;pointer-events:none}.toast{max-width:320px;border-radius:12px;padding:12px 16px;background:#252334;border:1px solid #ffffff27;box-shadow:0 15px 60px #0008;font-size:13px}
@media(max-width:740px){.welcome{grid-template-columns:1fr}.welcome-art{min-height:34vh;padding:35px 24px 12px}.welcome h1{font-size:69px;margin:14px 0}.welcome-footer{display:none}.login-side{border:0;border-top:1px solid var(--edge);padding:25px 24px 40px;display:block}.login-card{margin:auto}.seal{display:none}.login-card hr{margin:15px 0}.login-card h2{font-size:23px}.login-card .btn{padding:13px}.desktop-main{padding:29px 16px 110px}.desktop-header h1{font-size:50px}.desktop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:25px}.desktop-tile{min-height:117px;padding:12px 2px}.tile-icon{height:52px;width:52px;font-size:25px}.tile-name{font-size:11px}.dock{bottom:10px;padding:7px;gap:5px}.dock button{width:43px;height:43px;font-size:21px}.desktop-hint{display:none}.topbar{padding:0 12px}.topbar .menu{gap:10px}.topbar .status .optional{display:none}.window-layer{inset:47px 0 67px}.window,.window.narrow{inset:5px 5px auto!important;width:calc(100vw - 10px);height:calc(100svh - 126px);border-radius:13px}.window-body{padding:16px}.window-title{font-size:11px}.content-header h2{font-size:24px}.admin-layout{grid-template-columns:1fr;gap:12px}.admin-nav{display:flex;overflow-x:auto;border:0;border-bottom:1px solid var(--edge);padding:0 0 8px;gap:3px}.admin-nav button{flex-shrink:0}.admin-item{align-items:flex-start;flex-direction:column}.admin-item .row{width:100%}.admin-section h2{font-size:21px}.field-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.terminal{padding:12px;min-height:300px}.desktop-grid{max-width:550px}}
@media(max-width:740px){.admin-nav{align-items:center;min-height:54px}.admin-nav button{align-self:center;min-height:36px}.admin-nav button.selected{background:#dc79962d}}
