@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(./rajdhani-latin-500-normal-ByNUCHrt.woff2)format("woff2"),url(./rajdhani-latin-500-normal-DfvNI-Td.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-600-normal-CXCVEoA9.woff2)format("woff2"),url(./rajdhani-latin-600-normal-Dx02qI2_.woff)format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-700-normal-BPDUZo87.woff2)format("woff2"),url(./rajdhani-latin-700-normal-e0Uj8ZlN.woff)format("woff")}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.isolate{isolation:isolate}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.p-6{padding:calc(var(--spacing) * 6)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#0a0e1a;--panel:#101830d9;--system:#3fd0ff;--text:#e6f1ff;--muted:#7a8aa8;--hp:#ff4d5e;--gold:#ffc94a;--rank-e:#9aa4b2;--rank-d:#4ade80;--rank-c:#3fa9ff;--rank-b:#a78bfa;--rank-a:#fb923c;--rank-s:#ffc94a;--font-body:"PingFang TC", "Microsoft JhengHei", "Noto Sans TC", system-ui, sans-serif;--font-display:"Rajdhani", "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", sans-serif;--line:var(--system)}@supports (color:color-mix(in lab, red, red)){:root{--line:color-mix(in srgb, var(--system) 18%, transparent)}}:root{--soft:var(--system)}@supports (color:color-mix(in lab, red, red)){:root{--soft:color-mix(in srgb, var(--system) 5%, transparent)}}:root{--glow:var(--system)}@supports (color:color-mix(in lab, red, red)){:root{--glow:color-mix(in srgb, var(--system) 15%, transparent)}}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);scrollbar-gutter:stable}body{color:var(--text);font:14px/1.7 var(--font-body);background:radial-gradient(ellipse at 50% 0, var(--soft), transparent 60%), var(--bg);margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--system);outline-offset:4px}button:focus:not(:focus-visible){outline:none}h1,h2,h3,p{margin:0}h1,h2,h3,.numeric,.eyebrow{font-family:var(--font-display)}h1{font-size:28px;font-weight:600;line-height:1.4}h2{font-size:17px;font-weight:600;line-height:1.5}h3{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.5}.numeric{font-variant-numeric:tabular-nums}.eyebrow{letter-spacing:.16em;color:var(--muted);font-size:11px;font-weight:600;line-height:1.5;display:block}.muted{color:var(--muted)}.small{font-size:12px}.icon{vertical-align:middle;flex:0 0 20px;width:20px;height:20px;display:inline-block}.app-shell{min-height:100dvh}.app-header{padding:max(18px, env(safe-area-inset-top)) max(24px, calc((100% - 1040px)/2));border-bottom:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand strong{letter-spacing:.12em;font-size:17px;font-weight:600}.brand .eyebrow{letter-spacing:.16em;font-size:9px}.connection{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:11px;display:flex}.connection i{background:var(--system);width:5px;height:5px;box-shadow:0 0 8px var(--glow);border-radius:50%}.connection.offline{color:var(--system)}.main-content{max-width:1090px;margin:auto;padding:28px 24px 118px}.day-line{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.day-line .numeric{letter-spacing:.13em;font-size:14px}.system-panel{border:1px solid var(--system);background:var(--panel);box-shadow:0 0 28px var(--system);padding:24px;position:relative}@supports (color:color-mix(in lab, red, red)){.system-panel{box-shadow:0 0 28px color-mix(in srgb, var(--system) 3%, transparent)}}.panel-corner{width:10px;height:10px;color:var(--system);border-color:var(--system);opacity:.65;pointer-events:none;position:absolute}.corner-tl{border-top:1px solid;border-left:1px solid;top:-1px;left:-1px}.corner-tr{border-top:1px solid;border-right:1px solid;top:-1px;right:-1px}.corner-bl{border-bottom:1px solid;border-left:1px solid;bottom:-1px;left:-1px}.corner-br{border-bottom:1px solid;border-right:1px solid;bottom:-1px;right:-1px}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.panel-heading h2{margin-top:4px}.status-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:22px;display:grid}.character-panel{overflow:hidden}.character-topline{justify-content:space-between;align-items:center;display:flex}.live-label{color:var(--system);border:1px solid var(--line);background:var(--soft);border-radius:3px;padding:2px 9px;font-size:10px}.character-stage{background:radial-gradient(ellipse, var(--soft), transparent 70%);place-items:center;height:330px;margin:12px -24px 0;display:grid;position:relative;overflow:hidden}.stage-ring{border:1px solid var(--line);border-radius:50%;width:260px;height:260px;position:absolute}.ring-inner{opacity:.6;border-style:dashed;width:210px;height:210px}.stage-coordinate{font:10px var(--font-display);letter-spacing:.1em;color:var(--muted);writing-mode:vertical-rl;position:absolute;top:24px;left:24px}.character-art{object-fit:contain;width:250px;height:333px;animation:7s ease-in-out infinite character-float;position:relative}.placeholder-tag{color:var(--muted);letter-spacing:.1em;font-size:9px;position:absolute;bottom:8px;right:24px}.character-info{justify-content:space-between;align-items:center;padding:12px 0 18px;display:flex}.character-info h1{letter-spacing:.08em;font-size:30px}.character-info p{letter-spacing:.1em;font-size:12px}.level-row{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:16px 0 10px;display:flex}.level-row .numeric{font-size:22px}.level-row strong{font-size:36px;font-weight:600;line-height:1}.level-row small{color:var(--muted);font-size:14px}.character-panel>.button{justify-content:space-between;margin-top:24px}.status-side{align-content:start;gap:22px;display:grid}.player-resources{grid-template-columns:minmax(0,1fr) 94px;align-items:center;gap:24px;display:grid}.player-resources p{margin-top:12px}.gold{color:var(--gold);border-left:1px solid var(--line);justify-items:center;padding-left:20px;display:grid}.gold strong{font-size:30px;font-weight:600;line-height:1.35}.gold span{letter-spacing:.1em;font-size:10px}.stat-label{font:600 14px var(--font-display);color:var(--system);justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.stat-label .numeric{color:var(--text);font-size:15px}.stat-track{background:var(--bg);border:1px solid var(--line);height:7px;overflow:hidden}.stat-fill{width:calc(var(--stat-value) / var(--stat-max) * 100%);background:var(--system);height:100%;box-shadow:0 0 12px var(--glow);transition:width .4s}.stat-hp .stat-label{color:var(--hp)}.stat-hp .stat-fill{background:var(--hp);box-shadow:0 0 12px var(--hp)}@supports (color:color-mix(in lab, red, red)){.stat-hp .stat-fill{box-shadow:0 0 12px color-mix(in srgb, var(--hp) 25%, transparent)}}.stat-damage{animation:.48s hp-flash}.app-shell:has(.stat-damage){animation:.3s damage-shake}.rank-badge{width:52px;height:58px;color:var(--rank-e);flex:0 0 52px;place-items:center;display:inline-grid;position:relative}.rank-badge svg{fill:currentColor;width:100%;height:100%;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.rank-badge svg{fill:color-mix(in srgb, currentColor 9%, transparent)}}.rank-badge svg{stroke:currentColor;stroke-width:1px}.rank-inner{opacity:.3;fill:none}.rank-badge>span{font:600 31px var(--font-display);z-index:1}.rank-small{flex-basis:36px;width:36px;height:40px}.rank-small>span{font-size:22px}.rank-e{color:var(--rank-e)}.rank-d{color:var(--rank-d)}.rank-c{color:var(--rank-c)}.rank-b{color:var(--rank-b)}.rank-a{color:var(--rank-a)}.rank-s{color:var(--rank-s);animation:3s ease-in-out infinite rank-glow}.radar-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:12px;display:grid}.radar{width:100%;max-width:280px}.radar text{fill:var(--muted);font:500 12px var(--font-display);letter-spacing:.1em}.radar-grid{fill:none;stroke:var(--line);stroke-width:1px}.radar-value{fill:var(--glow);stroke:var(--system);stroke-width:1.5px}.radar-dot{fill:var(--system)}.attribute-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.attribute-list>div:last-child{border:none}.attribute-list dt{align-items:center;gap:8px;font-size:12px;display:flex}.attribute-list dt .icon{color:var(--system)}.attribute-list small{color:var(--muted);font:10px var(--font-display);letter-spacing:.06em;display:block}.attribute-list dd{text-align:right;margin:0}.attribute-list dd>span{font-size:19px;line-height:1.25}.attribute-panel>p{text-align:center;margin-top:10px}.quest-callout{border:1px solid var(--line);background:var(--soft);text-align:left;justify-content:space-between;align-items:center;gap:15px;width:100%;padding:20px 24px;display:flex}.quest-callout strong,.quest-callout span>span{margin-top:6px;display:block}.quest-callout>.icon{color:var(--system)}.button{border:1px solid var(--line);border-radius:3px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 16px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.button .icon{flex-basis:16px;width:16px;height:16px}.button.primary{background:var(--system);border-color:var(--system);color:var(--bg)}.button.primary:hover{background:var(--system)}@supports (color:color-mix(in lab, red, red)){.button.primary:hover{background:color-mix(in srgb, var(--system) 80%, var(--text))}}.button.ghost{background:var(--soft);color:var(--system)}.button.ghost:hover{background:var(--glow);border-color:var(--system)}.button.danger{color:var(--hp);background:var(--hp)}@supports (color:color-mix(in lab, red, red)){.button.danger{background:color-mix(in srgb, var(--hp) 5%, transparent)}}.button.danger{border-color:var(--hp)}@supports (color:color-mix(in lab, red, red)){.button.danger{border-color:color-mix(in srgb, var(--hp) 30%, transparent)}}.full-width{width:100%}.text-button{color:var(--system);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:9px 0;font-size:12px;display:inline-flex}.icon-button{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:3px;flex:0 0 36px;place-items:center;display:inline-grid}.icon-button:hover{background:var(--soft);color:var(--system)}.page-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-title h1{align-items:center;gap:12px;margin-top:4px;display:flex}.count-pill{color:var(--muted);letter-spacing:.1em;font-size:17px}.rest-panel{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;display:flex}.rest-copy{align-items:center;gap:14px;display:flex}.rest-copy>.icon{color:var(--system);flex-basis:26px;width:26px;height:26px}.rest-copy h2{font-size:14px}.rest-copy p{margin-top:3px}.rest-actions{align-items:center;gap:16px;display:flex}.fixed-dates{flex-wrap:wrap;gap:8px;width:100%;display:flex}.fixed-dates span{border:1px solid var(--line);color:var(--muted);padding:3px 8px;font-size:11px}.show-all{color:var(--muted);justify-content:flex-end;align-items:center;gap:7px;margin:18px 0;font-size:11px;display:flex}.show-all input,.check-label input{accent-color:var(--system)}.task-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.group-heading{margin:8px 0 18px}.group-heading h2{align-items:center;gap:12px;margin:4px 0;font-size:18px;display:flex}.group-heading h2 span{color:var(--muted);font-size:16px}.group-heading p{font-size:11px}.task-card{border:1px solid var(--line);background:var(--panel);border-radius:3px;margin-bottom:14px;padding:18px}.task-card-heading{align-items:center;gap:10px;display:flex}.task-card-title{flex:1;min-width:0}.task-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:5px;font-size:10px;display:flex}.task-meta span{align-items:center;gap:4px;display:inline-flex}.task-meta .icon{flex-basis:13px;width:13px;height:13px}.task-card .icon-button{margin-right:-8px}.task-detail{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:16px;padding-top:12px;display:flex}.task-detail>span{color:var(--muted);font-size:10px}.task-detail strong{color:var(--system);font-size:16px;font-weight:600}.task-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.task-actions .button{min-height:36px;padding:7px 11px}.task-done{background:var(--soft)}.done-label{color:var(--system);align-items:center;gap:8px;padding-top:12px;font-size:12px;display:flex}.done-label small{color:var(--muted);margin-left:auto;font-size:10px}.timer-row{align-items:center;gap:8px;padding-top:10px;display:flex}.timer-button{color:var(--muted);background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:11px;display:flex}.timer-button .icon{flex-basis:15px;width:15px;height:15px}.timer-value{color:var(--text);font-size:17px}.pending-note{color:var(--system);margin-top:8px;font-size:10px}.overdue{color:var(--hp);margin-top:6px;font-size:10px;display:block}.amount-input{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;font-size:10px;display:flex}.amount-input input{border:1px solid var(--line);background:var(--bg);width:65px;min-height:36px;color:var(--text);border-radius:2px;padding:5px 8px}.empty-state{border:1px dashed var(--line);text-align:center;color:var(--muted);background:var(--soft);padding:26px 12px}.empty-state p{margin:4px 0;font-size:12px}.empty-symbol{font:300 28px var(--font-display);color:var(--system)}.modal{border:1px solid var(--system);background:var(--bg);width:min(520px,100% - 32px);max-height:88dvh;color:var(--text);box-shadow:0 0 60px var(--glow);border-radius:5px;margin:auto;padding:24px;position:fixed;inset:0;overflow:auto}.modal::backdrop{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.modal::backdrop{background:color-mix(in srgb, var(--bg) 85%, transparent)}}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px;display:flex}.modal-heading h2{margin-top:4px;font-size:21px}.quest-form{gap:17px;display:grid}.quest-form p,.pending-note{overflow-wrap:anywhere;min-width:0}.quest-form label:not(.check-label),.form-grid label{color:var(--muted);gap:7px;font-size:12px;display:grid}.quest-form input:not([type=checkbox]),.quest-form select{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:3px;width:100%;min-width:0;min-height:44px;padding:10px 12px}.quest-form input:disabled,.quest-form select:disabled{opacity:.5}.quest-form input::placeholder{color:var(--muted);font-size:11px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-hint{color:var(--muted);font-size:11px;line-height:1.9}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:12px;padding-top:17px;display:flex}.check-label{color:var(--muted);align-items:center;gap:9px;font-size:12px;display:flex}.weekdays{border:0;justify-content:space-between;gap:6px;padding:0;display:flex}.weekdays legend{color:var(--muted);margin-bottom:10px;font-size:12px}.weekdays label{align-items:center;display:flex!important}.weekdays input{accent-color:var(--system)}.character-options{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.character-option{background:var(--panel);border:1px solid var(--line);border-radius:3px;justify-items:center;gap:3px;padding:10px;display:grid}.character-option img{object-fit:contain;width:85px;max-width:100%;height:110px}.character-option small{color:var(--muted);font-size:10px}.character-option>span{color:var(--system);margin-top:3px;font-size:9px}.character-option.selected{border-color:var(--system);background:var(--soft)}.reserve-note{color:var(--muted);padding:15px 0}.notice{border-left:2px solid var(--system);background:var(--soft);color:var(--system);overflow-wrap:anywhere;margin-bottom:16px;padding:10px 14px;font-size:12px}.notice.error,.form-error{color:var(--hp);border-color:var(--hp);font-size:12px}.bottom-nav{z-index:10;border:1px solid var(--line);background:var(--bg);width:360px;box-shadow:0 0 30px var(--soft);border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px;display:grid;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.bottom-nav button{min-height:48px;color:var(--muted);background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.bottom-nav button.active{color:var(--system);background:var(--soft)}.page-footer{text-align:center;color:var(--muted);gap:8px;margin-top:30px;font-size:9px;display:grid}.page-footer .eyebrow{font-size:9px}.skip-link{background:var(--bg);color:var(--system);z-index:100;padding:12px;position:fixed;top:-80px}.skip-link:focus{top:0}@keyframes character-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes rank-glow{0%,to{filter:drop-shadow(0 0 2px var(--gold))}50%{filter:drop-shadow(0 0 10px var(--gold))}}@keyframes hp-flash{30%,70%{opacity:.4}}@keyframes damage-shake{20%,60%{translate:-2px}40%,80%{translate:2px}}@media (width<=800px){.task-groups{grid-template-columns:1fr;gap:26px}.task-group{min-width:0}.task-card{padding:20px}.task-detail>span,.task-meta{font-size:11px}.rest-actions{flex-wrap:wrap}}@media (width<=620px){html{scrollbar-gutter:auto}.app-header{padding:max(17px, env(safe-area-inset-top)) 20px 15px}.brand strong{font-size:15px}.brand .eyebrow{font-size:8px}.brand img{width:31px;height:31px}.connection{font-size:10px}.main-content{padding:20px 18px calc(110px + env(safe-area-inset-bottom))}.status-layout{grid-template-columns:1fr;gap:18px}.status-side{gap:18px}.system-panel{padding:20px}.character-stage{height:260px;margin:8px -20px 0}.character-art{width:205px;height:273px}.stage-ring{width:220px;height:220px}.ring-inner{width:180px;height:180px}.character-info{padding-top:6px}.character-info h1{font-size:27px}.character-panel>.button{margin-top:20px}.radar-layout{grid-template-columns:1.25fr 1fr}.player-resources{grid-template-columns:minmax(0,1fr) 78px;gap:16px}.player-resources .small{font-size:10px}.gold{padding-left:14px}.gold strong{font-size:27px}.page-title h1{gap:8px;font-size:23px}.page-title .button{gap:5px;padding:9px 12px}.page-title .eyebrow{font-size:9px}.rest-panel{gap:14px;padding:18px}.rest-actions{gap:14px;width:100%}.bottom-nav{width:100%;padding:5px 20px max(7px, env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0;bottom:0}.bottom-nav button{min-height:48px}.modal{width:calc(100% - 24px);padding:20px}.character-options{grid-template-columns:repeat(2,1fr)}.quest-callout{padding:20px}}.boss-intro{margin:-8px 0 24px;font-size:12px}.boss-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:16px;display:grid}.boss-card{min-width:0}.boss-card>.system-panel{height:100%}.boss-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.boss-heading>div{min-width:0}.boss-heading h2{overflow-wrap:anywhere;margin-top:4px;font-size:24px}.boss-portrait{background:radial-gradient(ellipse, var(--soft), transparent 70%);place-items:center;height:220px;margin:10px 0;display:grid;position:relative;overflow:hidden}.boss-art{object-fit:contain;width:220px;height:220px;position:relative}.boss-orbit{border:1px solid var(--line);border-radius:50%;width:180px;height:180px;position:absolute}.boss-stats{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:10px 0;font-size:11px;display:flex}.boss-stats>span:first-child{align-items:center;gap:5px;display:inline-flex}.boss-stats strong{color:var(--gold);font-weight:600}.boss-card .stat{margin-top:16px}.boss-deadline{margin-top:8px}.boss-progress-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:24px;padding-bottom:10px;display:flex}.boss-progress-heading h3{font-size:14px}.boss-stages{margin:0;padding:0;list-style:none}.boss-stages li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 0;display:flex}.boss-stage-mark{color:var(--muted)}.boss-stages li>div{flex:1;min-width:0}.boss-stages strong{overflow-wrap:anywhere;font-size:12px;font-weight:500;display:block}.boss-stages small{color:var(--muted);font-size:10px;display:block}.boss-stages li>.numeric{white-space:nowrap;font-size:16px}.boss-stages .stage-complete,.boss-stages .stage-complete .boss-stage-mark{color:var(--system)}.boss-outcome{gap:4px;margin-top:18px;font-size:12px;display:grid}.boss-outcome>strong{color:var(--gold)}.boss-outcome>.numeric{color:var(--system);font-size:19px}.boss-outcome small{color:var(--muted);font-size:10px}.boss-history{margin-top:32px}.boss-history>summary{cursor:pointer;font-size:12px}.boss-guidance{border:1px solid var(--line);background:var(--soft);color:var(--system);padding:12px}.boss-guidance>.numeric{font-size:15px}.boss-art-options,.boss-stage-options{border:0;min-width:0;margin:0;padding:0}.boss-art-options legend,.boss-stage-options legend{color:var(--muted);margin-bottom:10px;font-size:12px}.boss-art-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.quest-form .boss-art-option{border:1px solid var(--line);background:var(--panel);cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:6px;font-size:10px;display:flex;position:relative}.boss-art-option.selected{border-color:var(--system);background:var(--soft)}.boss-art-option input{accent-color:var(--system);margin:0;position:absolute;top:6px;left:6px}.boss-art-option img{object-fit:contain;width:100%;height:86px}.boss-art-option span{text-align:center}.boss-stage-option{border-bottom:1px solid var(--line);padding:12px 0}.boss-stage-option .check-label{color:var(--text)}.boss-stage-option .check-label>span{overflow-wrap:anywhere;min-width:0}.boss-stage-option small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.quest-form .boss-count-label{justify-content:space-between;align-items:center;gap:10px;margin:8px 0 0 24px;display:flex!important}.quest-form .boss-count-label input{width:95px}.critical-feedback{border:1px solid var(--gold);gap:2px;margin-top:14px;padding:12px;display:grid}@supports (color:color-mix(in lab, red, red)){.critical-feedback{border:1px solid color-mix(in srgb, var(--gold) 35%, transparent)}}.critical-feedback{background:var(--gold)}@supports (color:color-mix(in lab, red, red)){.critical-feedback{background:color-mix(in srgb, var(--gold) 5%, transparent)}}.critical-feedback{color:var(--gold);animation:.55s ease-out critical-impact}.critical-feedback .eyebrow{color:var(--gold)}.critical-feedback strong{font-size:38px;font-weight:700;line-height:1.25}.critical-feedback small{font-size:10px}@keyframes critical-impact{0%{opacity:0;transform:translateY(8px)scale(.94)}to{opacity:1;transform:none}}@media (width<=620px){.boss-grid{grid-template-columns:minmax(0,1fr);gap:18px}.boss-heading h2{font-size:22px}.bottom-nav button{gap:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-property:opacity!important;transition-duration:.12s!important;animation:none!important}.character-art{transform:translate(0)}.notice,.modal{transition:opacity .12s}}.bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.bottom-nav button{min-width:0;padding-inline:4px}.player-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.player-title>div{flex:1;min-width:0}.player-title h3{font-size:16px}.player-title p{color:var(--system);overflow-wrap:anywhere;margin-top:4px;font-size:12px}.player-title .button{white-space:nowrap;padding:8px 10px;font-size:11px}.title-options{grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;display:grid}.title-options .button{overflow-wrap:anywhere;white-space:normal;min-width:0}.collection-count{color:var(--gold);font-size:18px}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.collection-card{border:1px solid var(--line);background:var(--panel);min-width:0;color:var(--text);text-align:center;cursor:pointer;gap:6px;padding:12px;display:grid}.collection-portrait{background:radial-gradient(ellipse, var(--soft), transparent 70%);height:220px;overflow:hidden}.collection-portrait img{object-fit:contain;width:100%;height:100%}.collection-card small{color:var(--muted);font-size:10px}.collection-card progress{width:100%;height:4px;accent-color:var(--system);appearance:none;background:var(--line);color:var(--system);border:0}.collection-card progress::-webkit-progress-bar{background:var(--line)}.collection-card progress::-webkit-progress-value{background:var(--system)}.collection-card progress::-moz-progress-bar{background:var(--system)}.collection-silhouette img{filter:brightness(0);opacity:.7}.collection-grayscale img{filter:grayscale()}.collection-color{border-color:var(--gold);box-shadow:0 0 16px var(--gold)}@supports (color:color-mix(in lab, red, red)){.collection-color{box-shadow:0 0 16px color-mix(in srgb, var(--gold) 12%, transparent)}}.collection-detail{text-align:center;gap:15px;line-height:1.8;display:grid}.collection-detail img{object-fit:contain;width:100%;height:300px}.records-layout{gap:24px;display:grid}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.achievement-card{border:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.achievement-card h3{font-size:14px}.achievement-card p{margin:5px 0}.achievement-card time{color:var(--muted);margin-top:5px;font-size:12px;display:block}.achievement-medal{width:44px;height:44px;color:var(--muted);border:1px solid;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.achievement-unlocked .achievement-medal{color:var(--gold);box-shadow:0 0 14px var(--gold)}@supports (color:color-mix(in lab, red, red)){.achievement-unlocked .achievement-medal{box-shadow:0 0 14px color-mix(in srgb, var(--gold) 15%, transparent)}}.achievement-unlocked{border-color:var(--system)}.report-archive{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.report-archive h3{margin-bottom:12px;font-size:14px}.history-report{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;background:0 0;justify-content:space-between;gap:12px;padding:12px 0;display:flex}.history-report:hover{color:var(--system)}.xp-history{margin:0}.xp-history svg{width:100%;max-height:240px}.chart-axis{stroke:var(--muted);fill:none}.chart-line{stroke:var(--system);stroke-width:2px;fill:none}.xp-history text{fill:var(--muted);font-size:11px;font-family:var(--font-display)}.xp-history summary{cursor:pointer;margin:10px 0;font-size:12px}.xp-history table{text-align:left;width:100%;font-size:12px}.xp-history figcaption{margin-top:10px}.report-content{overflow-wrap:anywhere;margin:10px 0 24px}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.report-metrics span{color:var(--muted);font-size:12px;display:block}.report-metrics strong{color:var(--system);font-size:28px}.report-metrics .hp-text{color:var(--hp)}.report-line{margin:18px 0;animation:.45s both report-reveal}.report-line:nth-child(3){animation-delay:.1s}.report-line:nth-child(4){animation-delay:.2s}.report-line:nth-child(5){animation-delay:.3s}.report-line:nth-child(6){animation-delay:.4s}.report-line h3{margin:8px 0;font-size:13px}.report-line ul{padding:0;list-style:none}.report-line li{justify-content:space-between;gap:10px;margin:6px 0;font-size:12px;display:flex}.report-line li>span:first-child{overflow-wrap:anywhere;min-width:0}.report-line li .numeric{white-space:nowrap}.report-advice{border-left:2px solid var(--system);background:var(--soft);padding:12px;font-size:13px}@keyframes report-reveal{0%{opacity:0}to{opacity:1}}@media (width<=620px){.bottom-nav button{white-space:nowrap;flex-direction:column;gap:2px;font-size:11px;line-height:1.2}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.collection-card{padding:9px}.collection-portrait{height:180px}.achievement-grid,.report-archive{grid-template-columns:minmax(0,1fr)}.achievement-card{padding:12px}.collection-count{font-size:15px}}.modal.milestone-modal{width:100vw;max-width:none;height:100dvh;max-height:none;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:var(--bg);border:0;margin:0;inset:0}.milestone-modal .modal-heading{z-index:2;max-width:800px;margin:0 auto;position:relative}.milestone-content{isolation:isolate;text-align:center;cursor:pointer;opacity:1;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:calc(100dvh - 130px);padding:18px 8px;transition:opacity .12s;display:flex;position:relative;overflow:hidden}.milestone-content>.eyebrow{font-size:10px}.milestone-title{font-family:var(--font-display);letter-spacing:.04em;color:var(--system);text-shadow:0 0 30px var(--soft);font-size:clamp(38px,9vw,76px);line-height:1.25;position:relative}.milestone-level{color:var(--text);font-size:34px}.milestone-beam{z-index:-1;background:linear-gradient(transparent, var(--system), transparent);filter:blur(30px);opacity:.35;animation:.9s ease-out both beam-rise;position:absolute;inset:0 35%}.milestone-level_up .milestone-title{animation:.55s ease-out .25s both level-impact}.milestone-particles{z-index:-1;pointer-events:none;position:absolute;inset:0}.milestone-particles i{background:var(--system);opacity:0;width:3px;height:3px;animation:1.4s ease-out .6s both particle-rise;position:absolute;top:70%}.milestone-attributes{border:1px solid var(--line);background:var(--panel);width:min(100%,350px);margin:10px 0;padding:14px;list-style:none}.milestone-attributes li{justify-content:space-between;align-items:center;gap:14px;margin:4px 0;font-size:12px;display:flex}.milestone-attributes small{color:var(--system);margin-left:6px}.milestone-skip{min-width:160px;margin-top:18px;position:relative}.milestone-rank-art{object-fit:contain;width:min(70vw,330px);height:min(35dvh,330px);animation:1.4s ease-out both rank-reveal}.milestone-character-art{object-fit:contain;width:min(70vw,300px);height:min(38dvh,380px)}.milestone-collection_unlock .milestone-character-art{filter:grayscale()}.milestone-char_maxed .milestone-character-art{animation:2.5s both collection-colorize}.milestone-char_maxed .milestone-title{color:var(--gold)}@starting-style{.milestone-content{opacity:0}}@keyframes beam-rise{0%{opacity:0;transform:translateY(100%)scaleX(.3)}to{opacity:.35;transform:none}}@keyframes level-impact{0%{opacity:0;transform:scale(1.2)}to{opacity:1;transform:none}}@keyframes particle-rise{0%{opacity:0;transform:translateY(0)}30%{opacity:.7}to{opacity:0;transform:translateY(-180px)}}@keyframes rank-reveal{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}@keyframes collection-colorize{0%{filter:grayscale()}to{filter:grayscale(0) drop-shadow(0 0 14px var(--gold))}}.audio-settings{gap:16px;min-width:0;display:grid}.volume-control{grid-template-columns:minmax(0,1fr) auto;gap:8px;font-size:14px;display:grid}.volume-control input{width:100%;min-width:0;accent-color:var(--system);grid-column:1/-1}.volume-control input:focus-visible{outline:2px solid var(--system);outline-offset:4px}.notification-settings{gap:12px;min-width:0;display:grid}.notification-settings p{overflow-wrap:anywhere;margin:0}.notification-settings .button{white-space:normal;overflow-wrap:anywhere;max-width:100%}.notification-settings .quest-form{min-width:0}.music-credits{overflow-wrap:anywhere;gap:22px;min-width:0;display:grid}.music-credits article{min-width:0}.music-credits dl{grid-template-columns:auto minmax(0,1fr);gap:8px 14px;font-size:13px;display:grid}.music-credits dt{color:var(--muted)}.music-credits dd{min-width:0;margin:0}.music-credits a{color:var(--system)}.music-library{overflow-wrap:anywhere;gap:14px;min-width:0;display:grid}.music-library>p{margin:0}.music-library select{width:100%;min-width:0;max-width:100%}.music-choice{gap:8px;min-width:0;font-size:14px;display:grid}.music-track-list{gap:12px;min-width:0;display:grid}.music-track{border:1px solid var(--line);border-radius:10px;min-width:0;padding:12px}.music-track h3{overflow-wrap:anywhere;margin:0 0 8px}.music-track-actions{flex-wrap:wrap;gap:8px;display:flex}.music-track-actions .button{white-space:normal;overflow-wrap:anywhere;flex:1;min-width:64px;max-width:100%;padding-inline:8px}.gold-button{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:10px;padding:10px}.gold-button:hover{border-color:var(--gold)}.shop-summary{margin-bottom:18px}.shop-summary>strong{color:var(--gold);font-size:28px}.reward-icons{border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0;padding:12px;display:grid}.reward-icons legend{color:var(--muted);font-size:13px}.reward-icons label{cursor:pointer;flex-direction:column;align-items:center;gap:5px;font-size:12px;display:flex}.reward-icons input{width:auto;accent-color:var(--system)}.reward-icons .icon{width:24px;height:24px}.reward-list{gap:14px;margin-top:18px;display:grid}.reward-card{border:1px solid var(--line);border-radius:10px;min-width:0;padding:14px}.reward-heading{grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;display:grid}.reward-heading .gold-text{grid-column:2}.reward-heading h3,.modal h3,.modal p,.redemption-history strong{overflow-wrap:anywhere;min-width:0}.reward-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.reward-actions .button{flex:1;min-width:64px;padding-inline:8px}.gold-text{color:var(--gold)}.redemption-history{padding:0;list-style:none}.redemption-history li{border-bottom:1px solid var(--line);grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;font-size:13px;display:grid}.redemption-history li>span{min-width:0}.redemption-history time{color:var(--muted);font-size:11px;display:block}.redemption-history strong{display:block}.backup-panel{overflow-wrap:anywhere;gap:14px;min-width:0;display:grid}.backup-panel>p{margin:0}.backup-panel label{gap:8px;font-size:14px;display:grid}.backup-panel input[type=file]{width:100%;min-width:0;max-width:100%;font-size:12px}.backup-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.backup-comparison section{min-width:0}.backup-summary{gap:5px;font-size:13px;display:grid}.backup-summary dt{color:var(--muted);margin-top:8px}.backup-summary dd{overflow-wrap:anywhere;min-width:0;margin:0}.backup-warning{background:var(--soft);border-left:2px solid var(--system);padding:12px;font-size:13px}@media (width<=380px){.backup-comparison{gap:12px}.backup-summary{font-size:12px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
