:root{--bg: #FAF6F0;--bg-soft: #FDFBF7;--surface: #FFFFFF;--surface-2: #F4F0E8;--surface-elev: #FFFFFF;--line: rgba(26, 22, 20, .08);--line-soft: rgba(26, 22, 20, .04);--line-strong: rgba(26, 22, 20, .16);--text: #1A1614;--text-2: #3A322E;--muted: #8B8580;--muted-2: #ACA59C;--plum: #3D2545;--plum-deep: #2A1730;--plum-mid: #5D3D68;--plum-pale: #EDE3F0;--plum-tint: rgba(61, 37, 69, .06);--gold: #D4A04B;--gold-deep: #A77B2C;--gold-pale: #F8EBC9;--gold-tint: rgba(212, 160, 75, .1);--blush: #F4D9D2;--blush-pale: #FAEDE9;--blush-deep: #C4847A;--sage: #5C7C5A;--sage-deep: #3D5A3B;--sage-pale: #DCE5DA;--sage-tint: rgba(92, 124, 90, .08);--teal: #3B7A78;--teal-pale: #D7E8E6;--teal-tint: rgba(59, 122, 120, .08);--red: #E04A3F;--red-deep: #B82E25;--amber: #C97A11;--shadow-sm: 0 1px 2px rgba(26, 22, 20, .04), 0 1px 3px rgba(26, 22, 20, .05);--shadow-md: 0 2px 4px rgba(26, 22, 20, .04), 0 6px 16px rgba(26, 22, 20, .06);--shadow-lg: 0 8px 32px rgba(26, 22, 20, .1), 0 4px 8px rgba(26, 22, 20, .06);--shadow-plum: 0 6px 24px rgba(61, 37, 69, .18);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display: "Fraunces", "Georgia", "Times New Roman", serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.boot{height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--muted);font-size:15px}.app{height:100vh;background:var(--bg);color:var(--text)}.rail{position:fixed;left:0;top:0;bottom:0;width:76px;overflow-x:hidden;overflow-y:hidden;z-index:30;background:linear-gradient(180deg,#2a1730,#3a2350);display:flex;flex-direction:column;padding:14px 0;transition:width .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s}.rail:hover{width:256px;box-shadow:12px 0 54px #0000006b}.rail-home,.rail-app,.rail-user{position:relative;display:flex;align-items:center;gap:13px;width:256px;height:54px;padding:0 16px;border:none;background:none;cursor:pointer;flex:0 0 auto}.rail-home:hover,.rail-app:hover,.rail-user:hover{background:#ffffff0d}.rail-home{margin-bottom:6px}.rail-list{flex:1;overflow-y:auto;overflow-x:hidden}.rail-list::-webkit-scrollbar{display:none}.rail-user{margin-top:6px}.rail-glyph,.rail-ic,.rail-avatar{flex:0 0 44px;width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center}.rail-glyph{color:#fff}.rail-ic{color:#fff;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 80%,white),var(--accent) 55%,color-mix(in srgb,var(--accent) 70%,black));box-shadow:inset 0 1px #ffffff47,0 3px 9px color-mix(in srgb,var(--accent) 35%,transparent);opacity:.92}.rail-app:hover .rail-ic{opacity:1}.rail-avatar{background:var(--gold-deep);color:#fff;font-size:14px;font-weight:700}.rail-label{opacity:0;white-space:nowrap;font-size:14px;font-weight:500;color:#ffffffdb;transition:opacity .18s}.rail-label em{font-style:normal;color:#fff6}.rail:hover .rail-label{opacity:1}.rail-grouplabel{padding:14px 0 7px 19px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#fff6;white-space:nowrap;opacity:0;transition:opacity .18s}.rail:hover .rail-grouplabel{opacity:1}.rail-app.on{background:#ffffff14}.rail-app.on:before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.rail-app.on .rail-ic{opacity:1;box-shadow:0 0 0 2px #ffffffeb,0 4px 13px color-mix(in srgb,var(--accent) 45%,transparent)}.rail-app.soon{cursor:default}.rail-app.soon .rail-ic{opacity:.4;background:linear-gradient(140deg,#6b6470,#443a4a);box-shadow:none}.rail-home.on .rail-glyph{background:#ffffff1a}.stage{margin-left:76px;height:100vh;overflow:auto;background:var(--bg)}.view{min-height:100%;animation:viewIn .32s cubic-bezier(.2,.8,.2,1)}@keyframes viewIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.home{max-width:1100px;margin:0 auto;padding:46px 48px 64px}.home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}.home-head h1{font-family:var(--font-display);font-size:40px;font-weight:500;letter-spacing:-.018em;color:var(--text)}.home-head p{margin-top:7px;font-size:15px;color:var(--muted)}.stats{display:flex;gap:38px}.stat{display:flex;flex-direction:column}.stat-n{font-family:var(--font-display);font-size:27px;font-weight:600;color:var(--plum);line-height:1}.stat-l{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:6px}.cluster{margin-top:36px}.cluster-label{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.card{position:relative;display:flex;align-items:center;gap:16px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;font:inherit;width:100%;color:inherit;overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s;animation:rise .5s cubic-bezier(.2,.8,.2,1) both}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);opacity:0;transition:opacity .18s}.card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 18%,transparent),var(--shadow-md)}.card:hover:before{opacity:1}.card:hover .card-go{opacity:1;transform:translate(0)}.card-badge{flex:0 0 auto;width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 82%,white),var(--accent) 55%,color-mix(in srgb,var(--accent) 70%,black));box-shadow:inset 0 1px #ffffff47,0 4px 12px color-mix(in srgb,var(--accent) 30%,transparent)}.card-body{min-width:0;flex:1}.card-name{font-size:17px;font-weight:600;color:var(--text);display:flex;align-items:center}.card-tag{margin-top:3px;font-size:13px;color:var(--muted);line-height:1.4}.card-tag-native{margin-left:9px;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sage-deep);background:var(--sage-pale);border-radius:999px;padding:2px 8px}.card-go{position:absolute;right:20px;font-size:19px;color:var(--accent);opacity:0;transform:translate(-6px);transition:opacity .18s,transform .18s}.card-soon{position:absolute;top:14px;right:14px;font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px 9px}.card-off{opacity:.6;cursor:default;box-shadow:none}.external{max-width:520px;margin:0 auto;padding:13vh 40px 0;text-align:center}.ext-badge{width:68px;height:68px;border-radius:19px;margin:0 auto 22px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 82%,white),var(--accent) 55%,color-mix(in srgb,var(--accent) 70%,black));box-shadow:inset 0 1px #ffffff4d,0 8px 24px color-mix(in srgb,var(--accent) 32%,transparent)}.external h2{font-family:var(--font-display);font-size:30px;font-weight:500;color:var(--text)}.ext-tag{margin-top:7px;font-size:15px;color:var(--muted)}.ext-note{margin-top:18px;font-size:14px;line-height:1.6;color:var(--text-2)}.ext-open{display:inline-block;margin-top:26px;font-size:14px;font-weight:600;color:#fff;background:var(--plum);border-radius:999px;padding:12px 24px;text-decoration:none;transition:filter .15s}.ext-open:hover{filter:brightness(1.12)}@media (max-width: 720px){.home{padding:28px 20px 48px}.home-head{display:block}.stats{margin-top:18px;gap:22px;flex-wrap:wrap}.grid{grid-template-columns:1fr}}.perm{display:flex;height:100%}.perm-list{flex:0 0 280px;border-right:1px solid var(--line);overflow-y:auto;padding:16px 0;background:var(--bg-soft)}.perm-list-h{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:4px 22px 12px}.perm-loading{padding:18px 22px;color:var(--muted);font-size:14px}.perm-user{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:11px 22px;border:none;background:none;cursor:pointer;border-left:3px solid transparent}.perm-user:hover{background:var(--surface-2)}.perm-user.on{background:var(--surface);border-left-color:var(--plum)}.perm-user-name{font-size:14px;font-weight:600;color:var(--text)}.perm-user-name em{font-style:normal;color:var(--gold-deep);font-size:11px}.perm-user-upn{font-size:12px;color:var(--muted)}.perm-detail{flex:1;overflow-y:auto;padding:36px 44px;max-width:720px}.perm-empty{color:var(--muted);font-size:15px;padding-top:12vh;text-align:center}.perm-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px}.perm-head h2{font-family:var(--font-display);font-size:28px;font-weight:500;color:var(--text)}.perm-head-upn{font-size:13px;color:var(--muted);margin-top:2px}.perm-saved{font-size:12px;color:var(--sage-deep);opacity:0;transition:opacity .2s}.perm-saved.on{opacity:1}.perm-sec{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:28px 0 12px}.perm-sec em{font-style:normal;color:var(--muted-2);letter-spacing:.04em;text-transform:none;font-weight:500}.perm-toggle{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;margin-bottom:8px;transition:border-color .15s}.perm-toggle:hover{border-color:var(--line-strong)}.perm-toggle.dis{opacity:.55;cursor:default}.perm-toggle-ic{flex:0 0 32px;width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--plum-tint);color:var(--plum)}.perm-toggle-text{flex:1;min-width:0}.perm-toggle-label{display:block;font-size:14.5px;font-weight:600;color:var(--text)}.perm-toggle-sub{display:block;font-size:12.5px;color:var(--muted);margin-top:1px}.perm-switch{flex:0 0 auto;width:42px;height:24px;border-radius:999px;background:var(--line-strong);position:relative;transition:background .18s}.perm-switch.on{background:var(--sage)}.perm-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s}.perm-switch.on .perm-knob{transform:translate(18px)}.perm-err{padding:12px 16px;border-radius:10px;background:var(--red-pale);color:var(--red-deep);font-size:14px;margin-bottom:14px}
