:root{color:#f4efe4;--font-display: Georgia, "Times New Roman", serif;--auth-page-base: #090806;--auth-page-vignette: rgba(6, 5, 4, .76);--auth-page-center-warmth: rgba(124, 86, 34, .1);--auth-card-bg-top: rgba(22, 23, 24, .96);--auth-card-bg-bottom: rgba(12, 12, 13, .97);--auth-card-border: rgba(184, 137, 55, .42);--auth-glow: rgba(167, 105, 31, .16);--auth-gold-muted: #c99a45;--auth-copy-muted: #d6c9b4;--auth-helper-muted: #bcae99;--auth-button-top: #b77f2d;--auth-button-bottom: #744516;--auth-button-hover-top: #c08c39;--auth-button-hover-bottom: #83511b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}html{min-width:320px;min-height:100%;background:#0b0906}*{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0;overflow-x:hidden}body,#root{min-height:100vh}body{background-color:#0b0906;background-image:radial-gradient(circle at center,#0000000d,#0000008c),url(/backgrounds/resethub-bg.webp);background-size:cover;background-position:center top;background-repeat:no-repeat}#root{background:transparent}button,textarea,input,select{font:inherit}.auth-page{position:relative;display:flex;min-height:100vh;align-items:center;justify-content:center;overflow-x:hidden;padding:32px 20px 56px;background:radial-gradient(circle at 50% 40%,var(--auth-page-center-warmth),rgba(10,9,7,.44) 38%,var(--auth-page-vignette) 100%),linear-gradient(90deg,#07060552,#0706050a 24% 76%,#07060557),linear-gradient(180deg,#120e0914,#0908072e),url(/backgrounds/resethub-bg.webp) center center / cover no-repeat,var(--auth-page-base)}.auth-page:before{position:absolute;inset:0;pointer-events:none;content:"";background:radial-gradient(ellipse at center,#12100d14,#0a09086b 68%,#050403b3),linear-gradient(180deg,rgba(7,6,5,.08),transparent 28%,transparent 70%,rgba(5,4,3,.26))}.auth-shell{position:relative;z-index:1;display:grid;justify-items:center;width:min(790px,100%);margin-top:-4vh;text-align:center}.auth-hero-ornament{display:grid;grid-template-columns:minmax(80px,1fr) 22px minmax(80px,1fr);align-items:center;width:min(330px,58vw);margin-bottom:14px;color:var(--auth-gold-muted);opacity:.68}.auth-hero-line{height:1px;background:linear-gradient(90deg,transparent,rgba(201,154,69,.5))}.auth-hero-line:last-child{transform:scaleX(-1)}.auth-hero-node{position:relative;display:block;width:9px;height:9px;margin:0 auto;border:1px solid rgba(226,185,106,.48);background:#0b0906bd;box-shadow:0 0 7px #a7691f2e;transform:rotate(45deg)}.auth-brand{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;column-gap:19px;margin-bottom:14px}.auth-brand-icon{width:clamp(78px,6.65vw,100px);height:clamp(78px,6.65vw,100px);object-fit:contain;filter:drop-shadow(0 12px 26px rgba(0,0,0,.38))}.auth-brand h1{margin:0;color:#fff2d5;font-family:var(--font-display);font-size:clamp(4rem,6.35vw,5.2rem);line-height:.9;text-shadow:0 2px 0 rgba(255,244,214,.12),0 10px 30px rgba(0,0,0,.6)}.login-tagline{grid-column:2;margin:8px 0 0;color:var(--auth-gold-muted);font-family:var(--font-display);font-size:clamp(1.28rem,1.9vw,1.6rem);line-height:1.08;text-shadow:0 3px 16px rgba(0,0,0,.72)}.auth-card{position:relative;display:grid;justify-items:center;gap:20px;width:min(740px,calc(100vw - 40px));border:1px solid var(--auth-card-border);border-radius:22px;padding:48px 58px 44px;background:radial-gradient(circle at 50% 0%,rgba(151,101,34,.08),transparent 34%),linear-gradient(180deg,var(--auth-card-bg-top),var(--auth-card-bg-bottom));box-shadow:0 0 0 1px #ffdf9406 inset,0 0 22px var(--auth-glow),0 28px 90px #050403ad}.auth-card:before,.auth-card:after{position:absolute;left:50%;width:118px;height:1px;content:"";background:radial-gradient(circle,rgba(226,185,106,.48),rgba(167,105,31,.12) 42%,transparent 72%);transform:translate(-50%)}.auth-card-accent{position:absolute;display:block;width:8px;height:8px;border:1px solid rgba(226,185,106,.34);background:#0b0906db;box-shadow:0 0 0 2px #0c0a0873,0 0 7px #a7691f21;transform:rotate(45deg)}.auth-card-accent--top{top:-5px;left:50%;transform:translate(-50%) rotate(45deg)}.auth-card-accent--left{top:44%;left:-4px}.auth-card-accent--right{top:44%;right:-4px}.auth-card:before{top:-1px}.auth-card:after{bottom:-1px;width:132px;background:radial-gradient(circle,rgba(226,185,106,.56),rgba(167,105,31,.15) 44%,transparent 74%)}.auth-eyebrow{position:relative;margin:0 0 2px;color:var(--auth-gold-muted);font-size:.84rem;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.auth-eyebrow:after{display:block;width:126px;height:1px;margin:10px auto 0;content:"";background:linear-gradient(90deg,transparent,rgba(201,154,69,.38),transparent)}.auth-eyebrow:before{position:absolute;left:50%;bottom:-15px;width:5px;height:5px;border:1px solid rgba(226,185,106,.36);content:"";background:#0b0906d1;transform:translate(-50%) rotate(45deg)}.auth-card h2{margin:0;color:#fff2d5;font-family:var(--font-display);font-size:clamp(2.65rem,3.95vw,3.22rem);line-height:1.05}.auth-copy{max-width:560px;margin:0;color:var(--auth-copy-muted);font-family:var(--font-display);font-size:clamp(1.16rem,1.55vw,1.32rem);line-height:1.45}.discord-login-button,.local-login-option .text-button{display:inline-flex;align-items:center;justify-content:center;width:min(560px,100%);border-radius:10px;font-family:var(--font-display);font-weight:800}.discord-login-button{position:relative;gap:15px;min-height:64px;margin-top:16px;border-color:#e2b96a94;color:#fff7de;background:linear-gradient(90deg,transparent,rgba(226,185,106,.12),transparent),linear-gradient(180deg,var(--auth-button-top),var(--auth-button-bottom));box-shadow:0 0 18px #a7691f38,inset 0 1px #ffe6ab47;font-size:1.32rem;text-shadow:0 2px 5px rgba(0,0,0,.38)}.discord-login-button:hover{background:linear-gradient(90deg,transparent,rgba(226,185,106,.16),transparent),linear-gradient(180deg,var(--auth-button-hover-top),var(--auth-button-hover-bottom))}.discord-login-button svg{width:28px;height:28px;color:#fff7de}.button-flourish{width:76px;height:1px;background:linear-gradient(90deg,transparent,rgba(226,185,106,.4),transparent)}.button-flourish:after{display:block;width:5px;height:5px;margin:-2px auto 0;border:1px solid rgba(226,185,106,.36);content:"";transform:rotate(45deg)}.login-warning{width:min(560px,100%);border:1px solid rgba(228,110,95,.25);border-radius:8px;padding:10px 12px;color:#e7b0a8;background:#571c162e;font-size:.85rem;line-height:1.45}.local-login-option{display:grid;justify-items:center;gap:20px;width:100%;margin-top:4px}.local-login-option .text-button{gap:14px;min-height:58px;border-color:#d2a4469e;color:#e3bd66;background:#0a0a0bb8;box-shadow:inset 0 1px #fff0be14,0 10px 24px #00000047;font-size:1.14rem}.local-login-option .text-button:hover{background:#d8a94c1a}.local-login-option svg{width:28px;height:28px;color:#8f8576}.local-login-option span{max-width:560px;color:var(--auth-helper-muted);font-family:var(--font-display);font-size:.98rem;line-height:1.36}button{min-height:40px;border:1px solid rgba(255,218,132,.42);border-radius:6px;padding:0 16px;color:#211607;background:linear-gradient(180deg,#e8c06b,#a96b2b);box-shadow:inset 0 1px #fff6cd80,0 10px 22px #00000047;cursor:pointer;touch-action:manipulation}button:hover{background:linear-gradient(180deg,#f0cf82,#b97931)}button:disabled{cursor:not-allowed;opacity:.52}input,select,textarea{border:1px solid rgba(216,169,76,.2);border-radius:8px;color:#f4efe4;background:#00000038}input,select{min-height:42px;padding:0 12px}.app-shell{min-height:100vh;padding:24px}.app-frame{width:min(1220px,100%);margin:0 auto;border:1px solid rgba(216,169,76,.22);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#101216e6,#07090cf2),#07090cf0;box-shadow:0 34px 90px #00000085,inset 0 1px #fff4d614}.topbar{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;min-height:88px;padding:18px 22px;border-bottom:1px solid rgba(216,169,76,.18);background:linear-gradient(90deg,rgba(216,169,76,.1),transparent 48%),#06080bbd}.menu-button{display:grid;align-content:center;gap:5px;width:48px;min-height:48px;height:48px;border:1px solid rgba(216,169,76,.48);border-radius:8px;padding:0 12px;background:linear-gradient(180deg,#d8a94c2e,#00000029),#11151c;box-shadow:none}.menu-button span{display:block;width:100%;height:2px;border-radius:999px;background:#f3cf83}.brand-copy,.drawer-brand{display:flex;align-items:center;gap:14px;min-width:0}.brand-copy img{width:58px;height:58px;flex:0 0 auto;object-fit:contain}.drawer-brand img{width:42px;height:42px;flex:0 0 auto;object-fit:contain}.brand-copy span{display:block;margin-top:6px;color:#c9b890;font-size:.9rem}.eyebrow{margin:0;color:#d8a94c;font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin:0}h1,h2{font-family:Georgia,Times New Roman,serif;letter-spacing:0}h1{margin-top:3px;color:#fff2d5;font-size:clamp(1.9rem,4vw,3.2rem);line-height:1}.drawer-backdrop{position:fixed;inset:0;z-index:20;background:#0000008a}.tool-drawer{position:fixed;inset:0 auto 0 0;z-index:30;width:min(360px,calc(100vw - 28px));border:1px solid rgba(216,169,76,.28);border-left:0;border-radius:0 10px 10px 0;padding:0;background:#110f0c;box-shadow:28px 0 70px #00000080;transform:translate(-104%);transition:transform .18s ease;overflow:hidden}.tool-drawer.is-open{transform:translate(0)}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:28px 24px 20px;border-bottom:1px solid rgba(196,154,60,.22)}.drawer-header h2{margin:0;color:#fff2d5;font-size:1.55rem;line-height:1.08}.drawer-header p{margin-top:5px;color:#8a6b29;font-size:.86rem}.drawer-close{width:36px;min-height:36px;padding:0;color:#f3cf83;background:#252018b8;box-shadow:none}.drawer-close:hover,.text-button:hover,.task-toggle:hover,.danger-button:hover{background:#d8a94c1a}.tool-nav{display:grid;gap:0;margin-top:0;padding:18px 0 28px}.drawer-section-label{margin:6px 24px 8px;color:#8a6b29;font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.tool-nav a,.tool-link{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:18px;min-height:58px;border:0;border-right:2px solid transparent;border-radius:0;padding:0 24px;color:inherit;text-decoration:none;background:transparent}.tool-nav a:hover,.tool-nav a.is-active{border-right-color:#d8a94c;background:linear-gradient(90deg,#c49a3c2e,#c49a3c14),#c49a3c14}.tool-nav strong{color:#d8a94c;font-size:1.08rem;font-weight:500;white-space:nowrap}.tool-icon{display:inline-grid;place-items:center;width:24px;color:#c49a3c;font-size:1.1rem;filter:saturate(.9)}.tool-link.is-disabled{cursor:pointer;opacity:.36;text-align:left}.tool-link.is-disabled strong,.tool-link.is-disabled .tool-icon{color:#8a6b29}.drawer-data-actions{display:grid;gap:8px;margin:8px 24px 0}.drawer-data-actions button{min-height:36px;padding:0 10px;color:#f3cf83;background:#0000002e;box-shadow:none;text-align:left}.drawer-data-actions .danger-menu-item{border-color:#e46e5f57;color:#f3b3a9}.drawer-data-actions input{display:none}.drawer-user-card{display:grid;gap:10px;margin:8px 24px 0;border:1px solid rgba(216,169,76,.14);border-radius:8px;padding:12px;color:#d6c49b;background:#0000002e}.drawer-user-row{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px}.drawer-user-row img,.drawer-avatar-fallback{width:38px;height:38px;border:1px solid rgba(216,169,76,.35);border-radius:50%}.drawer-user-row img{object-fit:cover}.drawer-avatar-fallback{display:grid;place-items:center;color:#0b0906;font-size:.78rem;font-weight:900;background:linear-gradient(180deg,#f0cf82,#a96b2b)}.drawer-user-card span,.drawer-user-card p{margin:0;color:#9c927f;font-size:.82rem;line-height:1.4}.drawer-user-card strong{display:block;color:#f2d58d;font-size:.9rem}.drawer-user-card .text-button{justify-content:flex-start;min-height:34px;padding:0 8px;color:#f3cf83}.migration-prompt{display:grid;gap:7px;border-top:1px solid rgba(216,169,76,.16);padding-top:10px}.dev-tools-panel{border:1px solid rgba(93,190,117,.24);border-radius:8px;padding:10px;background:linear-gradient(90deg,rgba(74,156,90,.1),transparent),#00000024}.dev-tools-panel span{color:#8ee6a1;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.reset-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px;border-bottom:1px solid rgba(216,169,76,.14);background:linear-gradient(135deg,rgba(216,169,76,.16),transparent 48%),linear-gradient(90deg,#120d09d6,#0d1014e6)}.hero-copy{min-width:0}.reset-banner h2{margin-top:5px;color:#fff4db;font-size:clamp(1.55rem,3vw,2.45rem)}.reset-banner p{max-width:760px;margin-top:9px;color:#bcb2a1;line-height:1.55}.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.hero-chips span{display:inline-flex;align-items:baseline;gap:6px;min-height:32px;border:1px solid rgba(216,169,76,.2);border-radius:999px;padding:6px 11px;color:#a9a08f;background:#0000003d;font-size:.76rem;font-weight:800;text-transform:uppercase;white-space:nowrap}.hero-chips strong{color:#fff2d5;font-size:.94rem}.reset-ring{display:grid;place-items:center;width:118px;min-height:82px;border:1px solid rgba(216,169,76,.34);border-radius:8px;padding:13px;background:linear-gradient(180deg,#d8a94c1f,#0000001f),#0000003d;box-shadow:inset 0 1px #fff4d614,0 14px 28px #0000003d;text-align:center}.reset-ring strong,.reset-ring span{display:block}.reset-ring strong{color:#f3cf83;font-size:1.9rem;line-height:1}.reset-ring span{max-width:90px;margin-top:6px;color:#fff2d5;font-size:.72rem;font-weight:800;text-transform:uppercase}.workspace{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:16px;padding:18px}.panel{min-width:0;min-height:220px;border:1px solid rgba(216,169,76,.2);border-radius:8px;padding:18px;background:linear-gradient(180deg,#fff4d60e,#ffffff05),#11151ceb;box-shadow:inset 0 1px #fff4d60f,0 18px 44px #00000042}.task-panel{min-height:0}.notes-panel{grid-column:1 / -1}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-actions,.detail-actions{display:flex;flex-wrap:wrap;gap:8px}.roster-panel{position:relative}.text-button{min-height:32px;border-color:#d8a94c33;padding:0 10px;color:#f3cf83;background:#0000002e;box-shadow:none}.danger-text-button{border-color:#e46e5f47;color:#f3b3a9}.options-menu{position:absolute;top:72px;right:18px;z-index:7;display:grid;gap:10px;min-width:232px;border:1px solid rgba(216,169,76,.28);border-radius:8px;padding:12px;color:#c9b890;background:linear-gradient(180deg,#fff4d60f,#ffffff05),#080b10;box-shadow:0 20px 50px #00000070}.options-menu strong{color:#f3cf83;font-size:.72rem;text-transform:uppercase}.options-menu label{display:flex;align-items:center;gap:9px}.options-menu input{min-height:auto}.panel h2{margin-top:3px;color:#fff2d5;font-size:1.32rem}.character-list,.task-list,.note-list{min-width:0;display:grid;gap:10px;margin:0;padding:0;list-style:none}.character-shell{position:relative}.empty-state{display:grid;gap:8px;align-content:center;justify-items:start;min-height:130px;border:1px dashed rgba(216,169,76,.24);border-radius:8px;padding:16px;color:#a9a08f;background:#00000029}.empty-state strong{color:#fff2d5}.warband-empty-state{justify-items:center;text-align:center}.warband-empty-state button{margin-top:8px}.empty-party-portrait{display:block;width:min(100%,360px);height:auto;max-height:192px;margin:-6px auto 2px;object-fit:contain;object-position:center bottom;image-rendering:auto}.character-row{display:grid;grid-template-columns:108px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:124px;border:1px solid color-mix(in srgb,var(--class-color) 36%,transparent);border-radius:8px;padding:10px 52px 12px 12px;color:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--class-color) 14%,transparent),transparent),#0003;box-shadow:none;text-align:left}.portrait-frame{display:grid;place-items:center;width:108px;height:108px;overflow:visible;pointer-events:none}.character-row:hover,.character-row[aria-pressed=true]{border-color:color-mix(in srgb,var(--class-color) 68%,#d8a94c);background:linear-gradient(90deg,color-mix(in srgb,var(--class-color) 22%,transparent),transparent),#00000052}.row-menu-button{position:absolute;right:7px;bottom:7px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:44px;height:44px;border-color:color-mix(in srgb,var(--class-color) 46%,rgba(216,169,76,.32));border-radius:7px;padding:0;background:linear-gradient(180deg,#fff4d647,#0003),color-mix(in srgb,var(--class-color) 22%,#15100a);box-shadow:inset 0 1px #fff4d62e,0 8px 16px #00000047}.row-menu-button span{display:block;width:13px;height:2px;border-radius:999px;background:#fff2d5;box-shadow:0 0 8px color-mix(in srgb,var(--class-color) 44%,transparent)}.row-menu-button:hover,.row-menu-button[aria-expanded=true]{border-color:color-mix(in srgb,var(--class-color) 68%,#f3cf83);background:linear-gradient(180deg,#fff4d661,#00000024),color-mix(in srgb,var(--class-color) 34%,#191109)}.character-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:5;display:grid;min-width:184px;border:1px solid rgba(216,169,76,.28);border-radius:8px;padding:6px;background:linear-gradient(180deg,#fff4d60f,#ffffff05),#080b10;box-shadow:0 20px 50px #00000070}.character-menu button{min-height:34px;border:0;border-radius:6px;padding:0 10px;color:#f4efe4;background:transparent;box-shadow:none;text-align:left}.character-menu button:hover{background:#d8a94c1f}.character-menu .danger-menu-item{color:#f3b3a9}.character-row[aria-pressed=true]{box-shadow:inset 3px 0 0 var(--class-color),0 0 24px color-mix(in srgb,var(--class-color) 14%,transparent)}.character-shell.is-archived .character-row{opacity:.58;filter:grayscale(.25)}.character-row strong,.character-row small,.character-row em{display:block}.character-badges{display:grid;justify-items:end;gap:4px}.character-row strong{color:#fff2d5}.character-row small{margin-top:2px;color:#a9a08f}.character-row em{border:1px solid rgba(216,169,76,.32);border-radius:999px;padding:4px 8px;color:#f3cf83;font-size:.72rem;font-style:normal;font-weight:800}.class-sprite{width:108px;height:108px;flex:0 0 auto;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 9px 12px rgba(0,0,0,.48)) drop-shadow(0 0 10px color-mix(in srgb,var(--class-color) 34%,transparent))}.class-sprite--small{width:108px;height:108px}.icon-button{display:grid;place-items:center;width:40px;min-height:40px;padding:0;font-size:1.5rem;line-height:1}.selected-title{display:block;min-width:0}.selected-title h2{margin-top:2px}.selected-title span{display:block;margin-top:3px;color:var(--class-color);font-size:.86rem;font-weight:800}.task-count{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(216,169,76,.28);border-radius:999px;padding:6px 10px;color:#f3cf83;background:#00000038}.task-count.is-complete{border-color:#5dbe7575;color:#8ee6a1;background:#4a9c5a1f;box-shadow:0 0 18px #4a9c5a1f}.task-count-check{width:6px;height:10px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}.tracker-state{border:1px solid rgba(216,169,76,.16);border-radius:8px;margin-bottom:12px;padding:11px 12px;color:#c9b890;background:linear-gradient(90deg,rgba(216,169,76,.08),transparent),#0000002e}.tracker-state--success{border-color:#4a9c5a5c;color:#bdf0c8;background:linear-gradient(90deg,rgba(74,156,90,.14),transparent),#0003}.reset-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid rgba(216,169,76,.16);border-bottom:1px solid rgba(216,169,76,.16);padding:12px 18px;color:#c9b890;background:linear-gradient(90deg,rgba(216,169,76,.12),transparent),#0003}.reset-notice div{display:grid;gap:2px}.reset-notice strong{color:#f3cf83}.reset-notice button{min-height:34px;padding:0 12px}.task-list li,.note-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:46px;border:1px solid rgba(216,169,76,.16);border-radius:8px;color:#f4efe4;background:#0003}.task-list li.is-done,.note-list li.is-done{color:#c5bba9}.note-list li.is-done .task-toggle span:last-child{text-decoration:line-through;text-decoration-color:#d8a94cb3}.task-list li.is-done .task-toggle span:last-child{text-decoration:line-through;text-decoration-color:#d8a94cb3}.check{width:18px;height:18px;flex:0 0 auto;border:2px solid #d8a94c;border-radius:5px}.is-done .check{display:grid;place-items:center;border-color:#d8a94c;background:#d8a94c29}.is-done .check:after{content:"";width:5px;height:9px;border:solid #f3cf83;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.task-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;border:0;padding:10px 12px;color:inherit;background:transparent;box-shadow:none;text-align:left}.add-task-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;margin-top:12px}.task-reset-copy{margin:0;padding-top:8px;color:#8f8576;font-size:.84rem;line-height:1.45}.drawer-reset-status{display:grid;gap:4px;margin:8px 24px 0;border:1px solid rgba(216,169,76,.14);border-radius:8px;padding:10px 12px;color:#8f8576;background:#0000002e}.drawer-reset-status span{margin-top:3px;color:#8f8576;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.drawer-reset-status span:first-child{margin-top:0}.drawer-reset-status strong{color:#d6c49b;font-size:.82rem;line-height:1.35}.item-menu-wrap{position:relative;padding-right:8px}.item-menu-button{display:grid;place-items:center;width:30px;min-height:30px;border-color:#d8a94c2e;padding:0;color:#c9b890;background:#00000024;box-shadow:none;font-weight:900;line-height:1}.item-menu-button:hover,.item-menu-button[aria-expanded=true]{border-color:#d8a94c6b;color:#f3cf83;background:#d8a94c1a}.item-menu{position:absolute;top:calc(100% + 6px);right:8px;z-index:6;display:grid;min-width:132px;border:1px solid rgba(216,169,76,.28);border-radius:8px;padding:6px;background:linear-gradient(180deg,#fff4d60f,#ffffff05),#080b10;box-shadow:0 20px 50px #00000070}.item-menu button{min-height:34px;border:0;border-radius:6px;padding:0 10px;color:#f4efe4;background:transparent;box-shadow:none;text-align:left}.item-menu button:hover{background:#d8a94c1f}.item-menu .danger-menu-item{color:#f3b3a9}.inline-edit-form{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:8px}.inline-edit-form button{min-height:38px;padding:0 10px}textarea{display:block;width:100%;min-height:132px;resize:vertical;padding:14px}select option{color:#11151c}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:18px;background:#000000a3}.character-form{display:grid;gap:14px;width:min(460px,100%);border:1px solid rgba(216,169,76,.28);border-radius:12px;padding:20px;background:linear-gradient(180deg,#fff4d612,#ffffff05),#080b10;box-shadow:0 34px 90px #0000008c}.confirm-modal{width:min(430px,100%);border:1px solid rgba(216,169,76,.32);border-radius:12px;overflow:hidden;color:#f4efe4;background:linear-gradient(180deg,#fff4d612,#ffffff05),#080b10;box-shadow:0 34px 90px #00000094}.confirm-body{display:grid;gap:10px;padding:18px 20px;color:#c9b890;line-height:1.55}.confirm-warning{color:#f3b3a9;font-weight:800}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid rgba(216,169,76,.16);padding:14px 20px 18px}.character-form label{display:grid;gap:7px;color:#c9b890;font-size:.82rem;font-weight:800;text-transform:uppercase}.choice-group{min-width:0;margin:0;border:0;padding:0}.choice-group legend{margin-bottom:8px;color:#c9b890;font-size:.82rem;font-weight:800;text-transform:uppercase}.class-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:7px}.class-choice,.spec-choice{min-height:42px;box-shadow:none;text-align:left}.class-choice{border-color:color-mix(in srgb,var(--class-color) 38%,rgba(216,169,76,.18));padding:0 10px;color:var(--class-color);background:linear-gradient(90deg,color-mix(in srgb,var(--class-color) 16%,transparent),transparent),#0000003d;font-size:.8rem;font-weight:900}.class-choice:hover,.class-choice[aria-pressed=true]{border-color:color-mix(in srgb,var(--class-color) 78%,#f3cf83);background:linear-gradient(90deg,color-mix(in srgb,var(--class-color) 28%,transparent),#0000000f),#0000004d;box-shadow:inset 3px 0 0 var(--class-color),0 0 18px color-mix(in srgb,var(--class-color) 18%,transparent)}.spec-choice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}.spec-choice{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:54px;border-color:#d8a94c2e;padding:9px 11px;color:#f4efe4;background:linear-gradient(180deg,#fff4d60e,#ffffff05),#00000038;font-size:.88rem;line-height:1.15}.spec-choice span{color:#8f8576;font-size:.58rem;font-weight:900;letter-spacing:.1em;line-height:1;text-transform:uppercase}.spec-choice:hover,.spec-choice[aria-pressed=true]{border-color:#d8a94c8f;color:#fff2d5;background:linear-gradient(90deg,rgba(216,169,76,.16),transparent),#00000047}.spec-choice[aria-pressed=true]{box-shadow:inset 3px 0 #d8a94c}.checkbox-row{display:flex!important;align-items:center;gap:10px!important;text-transform:none!important}.checkbox-row input{min-height:auto}.form-actions{display:flex;justify-content:space-between;gap:10px;margin-top:4px}.danger-button{border-color:#e46e5f6b;color:#f3b3a9;background:#5e1d1847;box-shadow:none}.preset-modal{display:grid;width:min(860px,100%);max-height:min(780px,calc(100vh - 34px));border:1px solid rgba(216,169,76,.28);border-radius:12px;overflow:hidden;color:#f4efe4;background:linear-gradient(180deg,#fff4d612,#ffffff05),#080b10;box-shadow:0 34px 90px #00000094}.preset-layout{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.4fr);min-height:430px;overflow:hidden}.preset-sidebar,.preset-editor{display:grid;align-content:start;gap:12px;padding:16px;overflow:auto}.preset-sidebar{border-right:1px solid rgba(216,169,76,.14);background:#0000002e}.preset-create-form,.preset-task-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:0}.preset-list{display:grid;gap:8px}.preset-list>button{display:grid;gap:4px;min-height:54px;border-color:#d8a94c24;padding:10px 11px;color:#f4efe4;background:#0003;box-shadow:none;text-align:left}.preset-list>button[aria-pressed=true]{border-color:#d8a94c85;background:linear-gradient(90deg,rgba(216,169,76,.16),transparent),#00000047;box-shadow:inset 3px 0 #d8a94c}.preset-list span,.preset-empty span,.preset-apply-row span{color:#9f927d;font-size:.84rem}.preset-empty{display:grid;gap:9px;border:1px solid rgba(216,169,76,.14);border-radius:8px;padding:14px;color:#d6c49b;background:#0000002e}.preset-empty--compact{padding:10px 12px}.preset-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(216,169,76,.12);padding-bottom:12px}.preset-editor-header h3{margin:2px 0 0;font-family:var(--font-display);font-size:1.5rem}.preset-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.preset-name-form{width:100%;padding:0}.preset-task-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.preset-task-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:46px;border:1px solid rgba(216,169,76,.14);border-radius:8px;padding:8px 10px;background:#0000002e}.preset-task-list li>span{min-width:0;line-height:1.35}.preset-task-list li>div{display:flex;gap:6px}.preset-task-list .inline-edit-form{padding:0}.preset-apply-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(216,169,76,.12);padding-top:12px}.gear-page{display:grid;gap:16px;padding:18px}.gear-hero{display:flex;align-items:center;justify-content:space-between;gap:18px}.gear-hero h2,.gear-priority-panel h2,.gear-slot-card h3{margin:3px 0 0;font-family:var(--font-display);color:#fff2d5}.gear-hero p,.raw-simc-panel p{margin-top:8px;color:#c9b890;line-height:1.5}.gear-character-strip{padding:14px 16px}.gear-character-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.gear-character-tabs button{border-color:color-mix(in srgb,var(--class-color) 34%,rgba(216,169,76,.16));color:var(--class-color);background:linear-gradient(90deg,color-mix(in srgb,var(--class-color) 12%,transparent),transparent),#00000038;box-shadow:none}.gear-character-tabs button[aria-pressed=true]{border-color:color-mix(in srgb,var(--class-color) 72%,#f3cf83);box-shadow:inset 3px 0 0 var(--class-color),0 0 18px color-mix(in srgb,var(--class-color) 14%,transparent)}.gear-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gear-summary-card{display:grid;gap:4px;padding:14px 16px}.gear-summary-card span{color:#9f927d;font-size:.76rem;font-weight:900;text-transform:uppercase}.gear-summary-card strong{color:#f3cf83;font-size:1.9rem;line-height:1}.gear-summary-card.is-warning strong{color:#f3b3a9}.gear-priority-panel{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr) auto;align-items:center;gap:12px}.gear-priority-list{display:flex;flex-wrap:wrap;gap:8px}.gear-priority-list span{border:1px solid rgba(216,169,76,.16);border-radius:999px;padding:6px 10px;color:#d6c49b;background:#0000002e}.gear-priority-panel small,.gear-slot-header span,.simc-modal-body small{color:#8f8576}.gear-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gear-slot-card{display:grid;gap:12px;padding:15px}.gear-slot-card label,.gear-choice-group{display:grid;gap:7px;color:#c9b890;font-size:.78rem;font-weight:900;text-transform:uppercase}.gear-slot-card textarea{min-height:76px}.gear-slot-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(216,169,76,.12);padding-bottom:10px}.gear-slot-header h3{font-size:1.12rem;line-height:1.2}.gear-slot-header strong{flex:0 0 auto;border:1px solid rgba(216,169,76,.2);border-radius:999px;padding:5px 8px;color:#d6c49b;background:#00000038;font-size:.72rem;text-transform:uppercase}.gear-status-bis .gear-slot-header strong{border-color:#5dbe7566;color:#8ee6a1}.gear-status-good_enough .gear-slot-header strong{border-color:#d8a94c61;color:#f3cf83}.gear-status-replace_soon .gear-slot-header strong{border-color:#e46e5f70;color:#f3b3a9}.gear-choice-group>div{display:flex;flex-wrap:wrap;gap:6px}.gear-choice-group button{min-height:32px;border-color:#d8a94c29;padding:0 9px;color:#c9b890;background:#0000002e;box-shadow:none;font-size:.76rem}.gear-choice-group button[aria-pressed=true]{border-color:#d8a94c7a;color:#f3cf83;background:#d8a94c1f}.raw-simc-line{border-top:1px solid rgba(216,169,76,.1);padding-top:8px;color:#8f8576}.raw-simc-line code{display:block;overflow-wrap:anywhere;margin-top:7px;color:#c9b890;font-size:.78rem}.raw-simc-panel{display:grid;gap:10px}.raw-simc-panel summary,.raw-simc-line summary{cursor:pointer;color:#f3cf83;font-weight:900}.raw-simc-panel pre{overflow:auto;max-height:320px;border:1px solid rgba(216,169,76,.14);border-radius:8px;margin:0;padding:12px;color:#c9b890;background:#0000003d;white-space:pre-wrap}.gear-import-notice{border:1px solid rgba(216,169,76,.16);border-radius:8px}.simc-modal{width:min(720px,100%);border:1px solid rgba(216,169,76,.28);border-radius:12px;overflow:hidden;color:#f4efe4;background:linear-gradient(180deg,#fff4d612,#ffffff05),#080b10;box-shadow:0 34px 90px #00000094}.simc-modal-body{display:grid;gap:12px;padding:18px 20px}.simc-modal-body p{color:#c9b890;line-height:1.5}.simc-modal textarea{min-height:280px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.45}textarea:focus,button:focus-visible,input:focus,select:focus{outline:3px solid rgba(216,169,76,.26);outline-offset:2px}@media(max-width:860px){.auth-page{padding:28px 16px 40px}.auth-shell{width:min(640px,100%);margin-top:0}.auth-brand{margin-bottom:28px}.auth-card{padding:34px 30px}.app-shell{padding:12px}.topbar,.reset-banner{grid-template-columns:auto 1fr}.topbar,.reset-banner{align-items:center}.reset-ring{width:112px}.workspace{grid-template-columns:1fr}.notes-panel,.task-panel{grid-column:auto}}@media(min-width:861px)and (max-height:820px){.auth-page{padding:22px 20px 34px}.auth-shell{margin-top:-2vh}.auth-hero-ornament{width:min(360px,68vw);grid-template-columns:minmax(70px,1fr) 18px minmax(70px,1fr);margin-bottom:8px}.auth-brand{column-gap:16px;margin-bottom:10px}.auth-brand-icon{width:clamp(68px,5.8vw,82px);height:clamp(68px,5.8vw,82px)}.auth-brand h1{font-size:clamp(3.35rem,5.55vw,4.42rem)}.login-tagline{margin-top:5px;font-size:clamp(1.05rem,1.52vw,1.3rem)}.auth-card{gap:15px;padding:36px 50px 34px}.auth-card h2{font-size:clamp(2.35rem,3.4vw,2.8rem)}.auth-copy{font-size:clamp(1.06rem,1.3vw,1.18rem)}.discord-login-button{min-height:58px;margin-top:10px;font-size:1.2rem}.local-login-option{gap:15px}.local-login-option .text-button{min-height:52px;font-size:1.05rem}.local-login-option span{font-size:.9rem}}@media(max-width:560px){.auth-page{align-items:flex-start;padding:24px 16px 32px}.auth-shell{gap:0;width:100%}.auth-brand{grid-template-columns:auto auto;column-gap:10px;margin-bottom:10px}.auth-brand-icon{width:52px;height:52px}.auth-brand h1{font-size:clamp(2.45rem,11.8vw,2.95rem)}.login-tagline{font-size:.98rem}.auth-card{width:100%;border-radius:18px;padding:26px 20px;gap:15px}.auth-card-accent,.button-flourish{display:none}.auth-card h2{font-size:clamp(2rem,9vw,2.4rem)}.auth-copy{font-size:1rem}.discord-login-button{min-height:54px;font-size:1.08rem}.local-login-option .text-button{min-height:52px;font-size:1rem}.app-shell{padding:0}.app-frame{min-height:100vh;border:0;border-radius:0;box-shadow:none}.topbar{position:sticky;top:0;z-index:12;min-height:68px;padding:10px 12px;border-bottom-color:#d8a94c47;background:linear-gradient(90deg,rgba(216,169,76,.12),transparent 54%),#06080bf0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menu-button{width:44px;min-height:44px;height:44px;padding:0 11px}.eyebrow{font-size:.68rem}h1{font-size:2rem}.brand-copy{gap:9px}.brand-copy img{width:42px;height:42px}.brand-copy span{margin-top:3px;font-size:.78rem}.reset-banner,.workspace{padding:12px}.reset-banner{gap:12px}.reset-banner h2{font-size:1.45rem}.reset-banner p{display:none}.reset-ring{width:78px;min-height:64px;padding:10px 8px}.reset-ring strong{font-size:1.35rem}.reset-ring span{max-width:62px;margin-top:4px;font-size:.58rem}.workspace{gap:12px}.panel{min-height:0;border-radius:0;padding:14px;background:linear-gradient(180deg,#fff4d60f,#ffffff05),#0c0f15f0}.roster-panel{padding-bottom:12px}.panel-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:10px;margin-bottom:12px}.panel h2{font-size:1.24rem}.panel-actions{flex:0 0 auto;flex-wrap:nowrap}.icon-button{width:38px;min-height:38px;font-size:1.35rem}.options-menu{top:60px;right:14px;min-width:min(248px,calc(100vw - 44px))}.character-list{width:100%;max-width:100%;grid-auto-flow:column;grid-auto-columns:minmax(236px,78vw);overflow-x:auto;overscroll-behavior-inline:contain;scroll-padding-inline:2px;scroll-snap-type:x mandatory;padding:1px 2px 8px;scrollbar-width:none}.character-list::-webkit-scrollbar{display:none}.character-list li{scroll-snap-align:start}.character-row{grid-template-columns:96px minmax(0,1fr);min-height:118px;padding:10px 48px 10px 10px}.portrait-frame{width:96px;height:98px}.class-sprite--small{width:98px;height:98px}.character-badges{grid-column:2;justify-items:start;display:flex;flex-wrap:wrap}.character-shell{display:block}.row-menu-button{right:6px;bottom:8px;width:44px;height:44px}.character-menu{position:fixed;inset:auto 12px 12px;z-index:45;min-width:0;border-radius:12px;padding:8px;box-shadow:0 26px 70px #00000094}.character-menu button{min-height:44px;padding:0 12px}.selected-title h2{line-height:1.05}.task-count{padding:5px 9px}.task-list,.note-list{gap:8px}.task-list li,.note-list li,.task-toggle{min-height:50px}.task-list li,.note-list li{grid-template-columns:1fr}.task-toggle{align-items:flex-start;padding:12px;line-height:1.35}.add-task-form{grid-template-columns:minmax(0,1fr) auto auto}.add-task-form button{min-height:44px;padding:0 10px}.preset-layout{grid-template-columns:1fr}.preset-sidebar{border-right:0;border-bottom:1px solid rgba(216,169,76,.14)}.preset-editor-header,.preset-apply-row{align-items:stretch;flex-direction:column}.preset-header-actions{justify-content:flex-start}.preset-task-list li{grid-template-columns:1fr}.preset-task-list li>div{justify-content:flex-end}.gear-page{padding:12px}.gear-hero,.gear-priority-panel{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.gear-summary-grid,.gear-slot-grid{grid-template-columns:1fr}.gear-slot-header{flex-direction:column}.gear-choice-group button{min-height:38px}.item-menu-wrap{justify-self:end;padding:0 10px 10px}.item-menu{position:fixed;inset:auto 12px 12px;z-index:45;min-width:0;border-radius:12px}.item-menu button{min-height:44px}.inline-edit-form{grid-template-columns:1fr}.inline-edit-form button{min-height:42px}.tool-drawer{width:min(360px,calc(100vw - 20px))}.modal-backdrop{align-items:end;padding:12px}.character-form{width:100%;border-radius:14px;padding:16px}.confirm-modal{width:100%;border-radius:14px}.confirm-actions{flex-direction:column-reverse}.confirm-actions button{width:100%;min-height:44px}.class-choice-grid,.spec-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.class-choice,.spec-choice{min-height:46px}}@media(max-width:380px){.auth-brand{grid-template-columns:1fr}.login-tagline{grid-column:auto}.reset-banner{grid-template-columns:1fr}.reset-ring{justify-self:start}.character-list{grid-auto-columns:minmax(220px,84vw)}.panel-header{flex-wrap:wrap}}
