@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_bfcdea99-module__h7KH3a__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_bfcdea99-module__h7KH3a__variable{--font-ibm-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f7efd8;--ink:#111016;--ink-soft:#23202b;--night:#171927;--night-blue:#27334b;--parchment:#eadcb9;--parchment-light:#fff7db;--parchment-dark:#b58b57;--gold:#d9a441;--gold-light:#ffe38a;--cyan:#66e0dd;--green:#6bc76f;--red:#d7524e;--violet:#8d6bd4;--line:#514a49;--shadow:#050408b8;--font-size-min:16px;--font-size-compact:14px;--console-glass-background:#18191b6b;--console-glass-border:#ffffff3d;--console-glass-border-top:#ffffff6b;--console-glass-shadow:inset 0 1px 0 #ffffff1a, 0 18px 46px #00000042;--console-glass-filter:blur(11px) saturate(.58);--glass-blur-panel:blur(12px) saturate(.72);--glass-blur-overlay:blur(18px) saturate(.72);--surface-1:#ffffff09;--surface-2:#ffffff0b;--surface-3:#ffffff0e;--surface-hover:#ffffff14;--touch-target-min:44px;--floating-tool-size:70px;--floating-tool-gap:10px;--floating-tool-edge:16px;background:#111016;font-family:Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif}*{box-sizing:border-box;letter-spacing:0}html{background:var(--ink);min-width:320px}body{min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a,label,select,input[type=file]{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3{text-wrap:balance;word-break:keep-all;overflow-wrap:break-word;margin-top:0}@media (max-width:560px){:root{--floating-tool-size:58px;--floating-tool-edge:12px}}h1,h2,h3,strong,button{font-weight:900}h1{margin-bottom:12px;font-size:clamp(28px,8vw,52px);line-height:1.12}h2{margin-bottom:12px;font-size:clamp(20px,5.5vw,27px);line-height:1.22}h3{margin-bottom:0;font-size:clamp(17px,4.5vw,21px)}p{font-size:16px;line-height:1.7}small{font-size:var(--font-size-min);line-height:1.45}code{font-size:var(--font-size-min)}.share-to-social{color:#e8cd8af2;font-size:var(--font-size-min);letter-spacing:.06em;cursor:pointer;background:#26272a8c;border:1px solid #d6b25e80;border-radius:6px;align-items:center;padding:6px 14px;font-weight:700;transition:border-color .15s,background .15s;display:inline-flex}.share-to-social:hover,.share-to-social:focus-visible{background:#3a372899;border-color:#d6b25ed9}
.pixel-body{background:var(--ink)}.game-screen{isolation:isolate;background:#141521;min-height:100vh;position:relative;overflow:hidden}.game-screen:after{z-index:30;pointer-events:none;content:"";opacity:.2;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#0000 0 3px,#0000002e 3px 4px);position:fixed;inset:0}.game-screen__content{z-index:5;width:min(1240px,100%);min-height:100vh;margin:0 auto;padding:34px;position:relative}.world-backdrop{z-index:0;background:linear-gradient(#151627 0%,#2d3550 48%,#6d6263 68%,#201d26 100%);position:fixed;inset:0;overflow:hidden}.game-screen--book .world-backdrop{background:linear-gradient(#18222c 0%,#455154 55%,#22231f 100%)}.game-screen--town .world-backdrop{background:linear-gradient(#20283a 0%,#4f5c69 48%,#594943 70%,#1c191c 100%)}.game-screen--town .world-moon{display:none}.game-screen--battle .world-backdrop{background:linear-gradient(#10121e 0%,#202a3c 50%,#25201f 100%)}.world-backdrop:after{content:"";opacity:.16;background-image:repeating-linear-gradient(90deg,#ffffff1f 0 1px,#0000 1px 8px),repeating-linear-gradient(0deg,#00000026 0 1px,#0000 1px 8px);background-size:8px 8px;position:absolute;inset:0}.world-moon{aspect-ratio:1;width:84px;image-rendering:pixelated;background:#e7c679;border:6px solid #ffe4a4;border-radius:50%;position:absolute;top:7vh;right:10vw;box-shadow:0 0 0 4px #1e1c2799,0 0 32px #ffd78461}.world-ridge{clip-path:polygon(0 80%,8% 48%,13% 68%,20% 28%,29% 72%,40% 36%,46% 62%,55% 18%,64% 66%,73% 38%,82% 70%,91% 31%,100% 72%,100% 100%,0 100%);display:block;position:absolute;left:-5%;right:-5%}.world-ridge--far{background:#242b3bd6;height:46%;bottom:23%}.world-ridge--near{background:#14171ef5;height:40%;bottom:8%;transform:scaleX(-1)}.world-ground{background:repeating-linear-gradient(135deg,#6b5b3d2e 0 2px,#0000 2px 10px),#18171b;height:22%;position:absolute;bottom:0;left:0;right:0}
.game-kicker{color:var(--gold-light);font-family:ui-monospace,Cascadia Mono,monospace;font-size:var(--font-size-min);text-transform:uppercase;align-items:center;gap:8px;margin:0 0 8px;font-weight:900;line-height:1;display:flex}.pixel-divider{align-items:center;gap:8px;margin-bottom:18px;display:flex}.pixel-divider span:first-child,.pixel-divider span:last-child{background:var(--gold);flex:1;height:2px}.pixel-divider span:nth-child(2){border:2px solid var(--gold-light);width:8px;height:8px;transform:rotate(45deg)}.rpg-window{background:#121219f0;border:3px solid #e7cf93;border-radius:2px;position:relative;box-shadow:0 0 0 3px #5e4b33,0 0 0 6px #151219,10px 14px #0504086b}.rpg-window:before,.rpg-window:after{border:2px solid var(--gold-light);content:"";width:10px;height:10px;position:absolute}.rpg-window:before{border-bottom:0;border-right:0;top:5px;left:5px}.rpg-window:after{border-top:0;border-left:0;bottom:5px;right:5px}.rpg-button{min-height:var(--touch-target-min);cursor:pointer;color:#fff6dc;font-size:var(--font-size-min);text-align:center;background:#272630;border:2px solid #f1d99a;border-radius:2px;justify-content:center;align-items:center;padding:10px 18px;line-height:1.2;display:inline-flex;position:relative;box-shadow:0 0 0 2px #5e4b33,4px 5px #0006}.rpg-button:hover,.rpg-button:focus-visible{color:#151219;outline:2px solid var(--cyan);outline-offset:4px;background:var(--gold-light);transform:translate(-1px,-1px)}.rpg-button:active{transform:translate(2px,2px);box-shadow:0 0 0 2px #5e4b33,1px 2px #00000080}.rpg-button:disabled{cursor:not-allowed;opacity:.42;filter:grayscale()}.rpg-button--primary{background:#184b4c;border-color:#9aefe7;box-shadow:0 0 0 2px #235f5e,4px 5px #0006}.rpg-button--attack{color:#24150d;background:#e4a33d;border-color:#ffd87a;min-height:50px;box-shadow:0 0 0 2px #7f4825,5px 6px #00000075}.rpg-button--quiet{color:#ede9df;background:#19181ebd;border-color:#a8a3a0}.rpg-button--ink{width:100%;color:var(--parchment-light);background:#3b2c25;border-color:#30261d;box-shadow:0 0 0 2px #9e7647,4px 5px #37231447}.rpg-button--seal{color:#fff5e1;background:#843d32;border-color:#ffd4a1;box-shadow:0 0 0 2px #4d261f,5px 6px #0006}.text-command{border-bottom:2px solid var(--gold);color:#fff1c9;align-self:center;align-items:center;padding:8px 4px;font-weight:800;display:inline-flex}.text-command:before{content:"◀";margin-right:7px}.text-command:hover,.text-command:focus-visible{color:var(--cyan);outline:0}.window-title{border-bottom:2px solid #5c5655;justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px;padding-bottom:12px;display:flex}.window-title span,.record-type,.status-board__kicker,.quest-brief__marker+div>span,.battle-hud__identity>span,.battle-command__title span{color:var(--gold-light);font-family:ui-monospace,Cascadia Mono,monospace;font-size:var(--font-size-min);text-transform:uppercase;font-weight:900}.window-title h2{text-align:right;margin:0}
.game-form,.book-form{gap:15px;display:grid}.game-form label,.book-form label,.setup-ledger label,.battle-input{color:inherit;font-size:var(--font-size-min);gap:7px;font-weight:800;display:grid}.game-form input,.game-form textarea,.game-form select,.book-form input,.setup-ledger input,.setup-ledger select,.battle-input input{color:#fff5dc;background:#17171d;border:2px solid #84765e;border-radius:2px;outline:0;width:100%;min-height:43px;padding:9px 11px}.game-form textarea{resize:vertical;min-height:92px}.game-form input:focus,.game-form textarea:focus,.game-form select:focus,.book-form input:focus,.setup-ledger input:focus,.battle-input input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px #66e0dd38}.system-message,.empty-state{border-left:5px solid var(--gold);color:#f7efd8;background:#151419db;margin:0;padding:13px 15px;font-weight:700}.system-message--danger{border-color:var(--red)}.system-message--success{border-color:var(--green)}
.title-screen .game-screen__content{grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:72px;display:grid}.title-lockup{text-shadow:4px 5px #000000ad;max-width:700px}.title-lockup h1{color:#fff4d1;margin:12px 0 20px;font-size:82px;line-height:.98}.title-lockup>.title-subtitle{color:#d8e6e3c7;font-size:var(--font-size-min);letter-spacing:.08em;text-shadow:0 1px 4px #000000a8;font-weight:600}.title-lockup>.title-slogan{color:#d8e6e3;font-size:20px;font-weight:800}.start-menu{padding:30px}.start-menu nav{gap:8px;display:grid}.menu-command{border:2px solid #0000;grid-template-columns:24px 1fr;align-items:center;min-height:48px;padding:10px 12px;font-size:17px;font-weight:900;display:grid}.menu-command span{color:var(--gold-light);opacity:0}.menu-command:hover,.menu-command:focus-visible{background:#2b2932;border-color:#6a6260;outline:0}.menu-command:hover span,.menu-command:focus-visible span{opacity:1}.start-menu>small{color:#918982;text-align:right;margin-top:20px;font-family:ui-monospace,monospace;display:block}.book-screen .game-screen__content{flex-direction:column;justify-content:center;gap:24px;max-width:1160px;display:flex}.book-screen__header{text-align:center;text-shadow:3px 4px #0000008f}.book-screen__header .game-kicker{justify-content:center}.book-screen__header h1{margin-bottom:5px;font-size:54px}.book-screen__header p{color:#d5ded9;margin:0}.adventure-book{color:#2d2118;background:#7f5637;border:8px solid #3a251c;border-radius:6px;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);display:grid;position:relative;box-shadow:0 0 0 3px #bd8a50,16px 22px #0000007a}.book-page,.setup-ledger fieldset{background:repeating-linear-gradient(0deg,#6f4b2814 0 1px,#0000 1px 6px),linear-gradient(105deg,#d5bd88 0%,#f5e7bd 14%,#ead8a9 100%);border:0;min-width:0;margin:0;padding:38px;position:relative}.book-page--right,.setup-ledger fieldset:last-of-type{background:repeating-linear-gradient(0deg,#6f4b2814 0 1px,#0000 1px 6px),linear-gradient(255deg,#d5bd88 0%,#f5e7bd 14%,#ead8a9 100%)}.book-page h2{border-bottom:2px solid #3e2a1a66;padding-bottom:11px;font-family:Georgia,Noto Serif TC,serif;font-size:31px}.book-copy{color:#5d4936;min-height:56px;font-size:var(--font-size-min)}.book-page__number{color:#4f342175;font-family:Georgia,serif;font-size:28px;font-weight:900;position:absolute;top:16px;right:20px}.record-type{color:#7c3e2f}.book-spine{background:repeating-linear-gradient(90deg,#ffffff21 0 2px,#0000 2px 5px),#63412c;min-height:100%;box-shadow:inset 5px 0 7px #0000006b,inset -5px 0 7px #0000006b}.book-form label,.setup-ledger label{color:#473528}.book-form input,.setup-ledger input{color:#2a1e17;background:#fff8dd85;border-color:#6f553d}.book-clasp{z-index:4;background:#c38c3c;border:3px solid #5b361f;width:34px;height:20px;position:absolute;right:-21px;box-shadow:inset 0 0 0 3px #f5ca71}.book-clasp--top{top:22%}.book-clasp--bottom{bottom:22%}.adventure-book--setup{display:block}.setup-ledger{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);display:grid}.setup-ledger fieldset{gap:14px;display:grid}.setup-ledger legend{border-bottom:2px solid #3e2a1a66;width:100%;margin-bottom:12px;padding-bottom:10px;font-family:Georgia,Noto Serif TC,serif;font-size:25px;font-weight:900}.setup-ledger legend span{aspect-ratio:1;color:#f8e8bd;width:30px;font-family:ui-monospace,monospace;font-size:var(--font-size-min);background:#734738;place-items:center;margin-right:8px;display:inline-grid}.setup-ledger>.rpg-button{z-index:7;width:220px;position:absolute;bottom:-24px;right:50%;transform:translate(50%)}
.dashboard-screen .game-screen__content,.review-screen .game-screen__content,.student-screen .game-screen__content{align-content:start;gap:28px;padding-top:28px;padding-bottom:72px;display:grid}.game-topbar{text-shadow:3px 4px #00000085;border-bottom:3px solid #ffe38a80;justify-content:space-between;align-items:center;gap:24px;padding-bottom:20px;display:flex}.game-topbar h1{margin-bottom:4px;font-size:43px}.game-topbar p:last-child{color:#d4ddda;font-size:var(--font-size-min);margin:0}.guild-summary{background:#0f0f14e0;border:3px solid #8f784f;grid-template-columns:repeat(3,1fr);display:grid;box-shadow:8px 10px #00000059}.guild-summary>div{border-right:2px solid #514a43;grid-template-columns:1fr auto;align-items:center;gap:0 16px;padding:16px 20px;display:grid}.guild-summary>div:last-child{border-right:0}.guild-summary span{color:#d8d0bd;font-size:var(--font-size-min);font-weight:800}.guild-summary strong{color:var(--gold-light);grid-area:1/2/3;font-family:ui-monospace,monospace;font-size:34px}.guild-summary small{color:#77726c;font-family:ui-monospace,monospace}.hero-registry{padding:24px 28px}.hero-registry__head{border-bottom:2px solid #5c5655;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding-bottom:18px;display:flex}.hero-registry__head>div{flex:240px}.hero-registry__head>div>span{color:var(--gold-light);font-family:ui-monospace,monospace;font-size:var(--font-size-min);font-weight:900}.hero-registry__head h2{margin:4px 0 0}.hero-registry details{flex:0 620px}.hero-registry details:not([open]){flex-basis:auto}.hero-registry details[open]{flex-basis:100%}.hero-registry summary{width:max-content;margin-left:auto;list-style:none}.hero-registry summary::-webkit-details-marker{display:none}.hero-register-form{border-top:2px dashed #625b51;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px;padding-top:20px}.hero-register-form .rpg-button{grid-column:1/-1;justify-self:end}.hero-roster{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:18px;display:grid}.hero-roster__entry{background:#1b1b22;border:2px solid #48434a;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:2px 11px;min-height:58px;padding:9px 12px;display:grid}.hero-roster__entry>span{color:var(--gold-light);grid-row:1/4;font-family:ui-monospace,monospace;font-size:18px;font-weight:900}.hero-roster__entry strong,.hero-roster__entry small{overflow-wrap:anywhere;min-width:0}.hero-roster__entry small{color:#9d9991}.hero-roster__editor{grid-column:1/-1;width:100%}.hero-roster__editor summary{margin-top:8px;margin-left:0}.hero-edit-form{border-top:1px solid #ffffff24;grid-template-columns:1fr;margin-top:12px;padding-top:12px}.hero-edit-form input[readonly]{color:#aaa6a0;cursor:default}.hero-edit-form .rpg-button{justify-self:end}
.guild-workspace{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:28px;display:grid}.upload-quest,.quest-log{padding:28px}.upload-quest>p{color:#bfc7c3;font-size:var(--font-size-min)}.game-form--upload{grid-template-columns:minmax(150px,.42fr) minmax(240px,1fr)}.game-form--upload .rpg-button{grid-column:1/-1}.file-drop{position:relative}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.file-drop>span{cursor:pointer;color:#d8cfb9;text-align:center;background:#17171d;border:2px dashed #8d7b62;place-items:center;min-height:43px;padding:9px 12px;display:grid}.file-drop:focus-within>span,.file-drop:hover>span{border-color:var(--cyan);color:var(--cyan)}.quest-log .list{gap:8px;display:grid}.quest-row{background:#1c1b22;border:2px solid #3f3b40;grid-template-columns:36px 1fr 18px;align-items:center;gap:12px;min-height:58px;padding:8px 11px;display:grid}.quest-row:hover,.quest-row:focus-visible{border-color:var(--cyan);background:#263038;outline:0}.quest-row__marker{color:var(--gold-light);font-family:ui-monospace,monospace;font-weight:900}.quest-row span:nth-child(2){gap:3px;display:grid}.quest-row small{color:#a9a39a}.section-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.section-heading h2{text-shadow:3px 4px #00000080;margin:0;font-size:31px}.section-heading .game-kicker{margin-bottom:5px}.status-section,.appraisal-ledger{gap:18px;display:grid}.status-stack{gap:20px;display:grid}
.status-board{color:#f3ecda;background:#101117f5;border:3px solid #d5bd80;border-radius:2px;padding:24px;box-shadow:0 0 0 3px #443a31,9px 11px #00000061}.status-board__header{border-bottom:3px double #70644d;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;padding-bottom:14px;display:flex}.status-board__header h2{overflow-wrap:anywhere;margin:4px 0 0}.status-board__header>div:first-child{min-width:0}.status-board__rank{border:3px double var(--gold-light);width:132px;min-height:64px;color:var(--gold-light);background:#2c2522;border-radius:8px;justify-content:center;align-items:center;gap:10px;display:flex}.status-board__rank span{font-family:ui-monospace,monospace;font-size:var(--font-size-min)}.status-board__rank strong{font-size:28px}.attribute-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.attribute-block{--attribute:var(--gold);background:#1b1b22;border:2px solid #48434a;padding:15px}.attribute-block--time{--attribute:#d69b45}.attribute-block--structure{--attribute:#58b9d0}.attribute-block--transfer{--attribute:#a97ad7}.attribute-block--precision{--attribute:#64c58b}.attribute-block--inference{--attribute:#72a6db}.attribute-block__head{border-bottom:2px solid #3c3940;grid-template-columns:42px 1fr auto;align-items:start;gap:11px;margin-bottom:12px;padding-bottom:12px;display:grid}.attribute-sigil{aspect-ratio:1;border:2px solid color-mix(in srgb, var(--attribute) 75%, #fff 25%);color:#111016;background:var(--attribute);place-items:center;width:40px;font-size:18px;font-weight:900;display:grid}.attribute-block h3{color:#fff4d3}.attribute-block__head p{color:#9e9b97;font-size:var(--font-size-min);margin:3px 0 0;line-height:1.45}.attribute-total{color:var(--attribute);text-align:right;font-family:ui-monospace,monospace;font-size:25px;display:grid}.attribute-total small{color:#7c7978;font-size:var(--font-size-min)}.recommended-targets,.daily-target{background:var(--surface-3);border:1px solid #ffffff29;border-radius:8px;margin-bottom:12px;padding:10px 12px}.recommended-targets h3,.daily-target p{color:#fff4d3;font-size:var(--font-size-min);margin:0}.recommended-targets ul{color:#c9c3b8;font-size:var(--font-size-min);gap:3px;margin:6px 0 0;padding-left:18px;display:grid}.daily-target small{color:#aaa39a;font-size:var(--font-size-min);margin-top:3px;display:block}.skill-list{gap:7px;display:grid}.skill-row{border-left:3px solid var(--attribute);background:#22222a;grid-template-columns:auto minmax(130px,1fr) minmax(84px,.72fr) 34px 116px;align-items:center;gap:9px;min-height:54px;padding:7px 8px;display:grid}.skill-row--readonly{grid-template-columns:minmax(0,1fr) minmax(84px,.72fr) 34px 116px}.skill-row:has(input:checked){outline:2px solid var(--gold-light);outline-offset:1px;background:#34302b}.skill-row--locked{opacity:.48;filter:grayscale(.8);border-left-color:#4d4b4d}.skill-row input{width:17px;height:17px;accent-color:var(--gold)}.skill-copy{gap:2px;min-width:0;display:grid}.skill-name{overflow-wrap:anywhere;color:#f7efd8;font-size:var(--font-size-min);font-weight:900}.skill-name-line{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.skill-name-line .skill-name{flex:110px;min-width:0}.skill-recommendation-badge{color:#fff4cd;font-size:var(--font-size-min);background:#ffffff14;border:1px solid #fff4cd5c;border-radius:6px;flex:none;padding:1px 5px;font-weight:900}.skill-copy small{color:#8f8b88;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.skill-meter{background:#0d0d11;border:2px solid #3a383d;height:9px;position:relative;overflow:hidden}.skill-fill{background:var(--attribute);position:absolute;inset:0 auto 0 0;box-shadow:inset 0 -2px #00000047}.skill-score{color:#fff1c6;font-family:ui-monospace,monospace;font-size:var(--font-size-min);text-align:right}.mastery-legend{color:#aaa39a;font-size:var(--font-size-min);margin:10px 0 0;line-height:1.5}
.appraisal-confirm{gap:18px;display:grid}.bestiary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.bestiary-entry{cursor:pointer;background:#151419f0;border:2px solid #5a5350;grid-template-columns:auto 44px 1fr auto;align-items:center;gap:10px;min-height:84px;padding:12px;display:grid}.bestiary-entry:hover{border-color:var(--gold-light);background:#302b28}.bestiary-entry:has(input:checked){border-color:var(--gold-light);background:#302b28}.bestiary-entry input{width:18px;height:18px;accent-color:var(--gold)}.bestiary-entry__number{color:var(--gold);font-family:ui-monospace,monospace;font-size:var(--font-size-min);font-weight:900}.bestiary-entry__copy{gap:5px;min-width:0;display:grid}.bestiary-entry__copy strong{overflow-wrap:anywhere;font-size:var(--font-size-min)}.bestiary-entry__copy small{color:#aaa39a}.bestiary-entry__status{color:var(--gold-light);font-size:var(--font-size-min);white-space:nowrap;border:1px solid #82704f;padding:5px 7px;font-weight:900}.bestiary-entry--locked{opacity:.48}.quest-brief{grid-template-columns:64px 1fr auto;align-items:center;gap:18px;padding:22px 28px;display:grid}.quest-brief__marker{aspect-ratio:1;border:4px double var(--gold-light);width:58px;color:var(--ink);background:var(--gold);place-items:center;font-family:ui-monospace,monospace;font-size:32px;font-weight:900;display:grid}.quest-brief h2,.quest-brief p{margin-bottom:0}.quest-brief p{color:#b9c1bd;font-size:var(--font-size-min)}.quest-brief>strong{color:var(--gold-light);text-align:center;font-family:ui-monospace,monospace;font-size:38px;display:grid}.quest-brief>strong small{color:#aaa39a;font-family:inherit;font-size:var(--font-size-min)}.adventure-loadout{gap:20px;display:grid}.quest-start{justify-self:center;width:min(360px,100%)}
.battle-screen .game-screen__content{align-items:center;width:min(1120px,100%);padding-top:20px;padding-bottom:20px;display:grid}.battle-interface{background:#121218;border:4px solid #e2cc92;display:grid;overflow:hidden;box-shadow:0 0 0 4px #493b2d,14px 18px #0000007a}.battle-hud{background:#18171e;border-bottom:3px solid #7a6b50;grid-template-columns:1fr minmax(260px,.75fr);align-items:center;gap:26px;padding:14px 20px;display:grid}.battle-hud__identity{grid-template-columns:auto 1fr;align-items:baseline;gap:2px 12px;display:grid}.battle-hud__identity>span{color:var(--red)}.battle-hud__identity strong{font-size:20px}.battle-hud__identity small{color:#96928d;grid-column:2}.battle-hud__meter,.hero-status{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-family:ui-monospace,monospace;display:grid}.battle-hud__meter>span,.hero-status>span{color:var(--gold-light);font-size:var(--font-size-min);font-weight:900}.pixel-meter{background:#171219;border:2px solid #b9a878;height:13px;position:relative;overflow:hidden}.pixel-meter>span{background:var(--red);transition:width .48s steps(8,end);position:absolute;inset:0 auto 0 0}.pixel-meter--hero>span{background:var(--green)}.battle-stage{background:repeating-linear-gradient(90deg,#ffffff0a 0 2px,#0000 2px 18px),linear-gradient(#29314a 0%,#60575b 52%,#262127 53%,#131218 100%);place-items:center;min-height:360px;display:grid;position:relative;overflow:hidden}.battle-stage--medium{background:repeating-linear-gradient(90deg,#ffe1a40a 0 2px,#0000 2px 18px),linear-gradient(#27323e 0%,#6b5949 52%,#342a24 53%,#141216 100%)}.battle-stage--hard{background:repeating-linear-gradient(90deg,#a787ea0f 0 2px,#0000 2px 18px),linear-gradient(#17172c 0%,#443d60 52%,#211b2d 53%,#0d0c12 100%)}.battle-stage:before{content:"";opacity:.68;clip-path:polygon(0 80%,7% 48%,12% 70%,19% 20%,27% 72%,36% 38%,42% 75%,51% 15%,58% 67%,68% 33%,76% 76%,84% 25%,92% 69%,100% 42%,100% 100%,0 100%);background:#141521;height:55%;position:absolute;inset:8% 0 auto}.battle-stage__fog{opacity:.46;background:repeating-linear-gradient(90deg,#0000 0 24px,#d6e7e447 24px 74px,#0000 74px 118px);height:36px;animation:8s steps(12,end) infinite fog-slide;position:absolute;bottom:22%;left:-8%;right:-8%}@keyframes fog-slide{to{transform:translate(118px)}}.monster-platform{opacity:.8;background:#0a0a0d;width:330px;height:40px;position:absolute;bottom:30px;transform:skew(-18deg);box-shadow:0 0 20px #000000db}.monster-sprite{z-index:3;object-fit:contain;width:300px;height:300px;image-rendering:pixelated;filter:drop-shadow(8px 11px #0006);position:relative}.battle-interface--victory .monster-sprite{animation:.68s steps(7,end) forwards monster-defeat}.battle-interface--counter .monster-sprite{animation:.56s steps(6,end) monster-counter}@keyframes monster-defeat{0%{opacity:1;filter:brightness(1.8)drop-shadow(8px 11px #0006);transform:translate(0)}35%{transform:translate(-10px)}55%{opacity:1;transform:translate(10px)scaleY(.92)}to{opacity:.24;filter:grayscale();transform:translateY(34px)scaleY(.35)}}@keyframes monster-counter{0%,to{transform:translate(0)}30%{transform:translate(-26px)scale(1.04)}60%{transform:translate(34px)scale(1.08)}}.attack-swing-fx{z-index:4;opacity:0;pointer-events:none;background:linear-gradient(#0000 0%,#fffffff0 45% 55%,#0000 100%);width:4px;height:190px;margin:-95px 0 0 -2px;position:absolute;top:50%;left:50%;box-shadow:0 0 12px #ffffffbf}.attack-swing-fx--active{animation:.34s steps(6,end) both attack-swing-sweep}@keyframes attack-swing-sweep{0%{opacity:0;transform:translate(-64px,46px)rotate(-34deg)scaleY(.6)}30%{opacity:1;transform:translate(-18px,14px)rotate(-32deg)scaleY(1.05)}65%{opacity:.95;transform:translate(30px,-22px)rotate(-30deg)scaleY(1)}to{opacity:0;transform:translate(72px,-52px)rotate(-28deg)scaleY(.85)}}.hit-burst{z-index:5;pointer-events:none;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hit-burst span{background:var(--gold-light);width:8px;height:8px;box-shadow:0 0 8px var(--gold);display:none;position:absolute}.battle-interface--victory .hit-burst span{animation:.62s steps(5,end) both hit-pixel;display:block}.hit-burst span:first-child{--hit-x:-110px;--hit-y:-80px}.hit-burst span:nth-child(2){--hit-x:-72px;--hit-y:-126px}.hit-burst span:nth-child(3){--hit-x:8px;--hit-y:-142px}.hit-burst span:nth-child(4){--hit-x:82px;--hit-y:-104px}.hit-burst span:nth-child(5){--hit-x:132px;--hit-y:-38px}.hit-burst span:nth-child(6){--hit-x:126px;--hit-y:48px}.hit-burst span:nth-child(7){--hit-x:72px;--hit-y:112px}.hit-burst span:nth-child(8){--hit-x:2px;--hit-y:138px}.hit-burst span:nth-child(9){--hit-x:-78px;--hit-y:106px}.hit-burst span:nth-child(10){--hit-x:-126px;--hit-y:42px}.hit-burst span:nth-child(11){--hit-x:48px;--hit-y:26px}.hit-burst span:nth-child(12){--hit-x:-46px;--hit-y:-20px}@keyframes hit-pixel{0%{opacity:1;transform:translate(0)scale(2)}to{opacity:0;transform:translate(var(--hit-x), var(--hit-y)) scale(.5)}}.damage-number{z-index:6;color:#fff5ba;text-shadow:3px 3px #7c2c27;font-family:ui-monospace,monospace;font-size:27px;animation:.72s steps(7,end) both damage-pop;position:absolute;top:18%;left:56%}.damage-number--hero{color:#ff8378;inset:auto 18% 16% auto}@keyframes damage-pop{0%{opacity:0;transform:translateY(24px)scale(.7)}30%{opacity:1;transform:translateY(0)scale(1.2)}to{opacity:0;transform:translateY(-34px)scale(1)}}.battle-stage__scanlines{z-index:8;pointer-events:none;opacity:.18;background:repeating-linear-gradient(0deg,#0000 0 4px,#000 4px 5px);position:absolute;inset:0}
.enemy-dialogue{color:#251d17;background:#f1e3be;border-top:3px solid #9e875f;border-bottom:3px solid #9e875f;padding:16px 22px}.enemy-dialogue .game-kicker{color:#8a4235}.enemy-dialogue p{overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:900;line-height:1.55}.battle-command,.battle-result{background:#15151b;gap:14px;padding:18px 20px 22px;display:grid}.battle-command__title{border-bottom:2px solid #454047;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:10px;display:flex}.battle-command__title strong{font-size:17px}.attack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.attack-command{cursor:pointer;background:#222128;border:2px solid #4a464b;grid-template-columns:36px 1fr 18px;align-items:center;gap:10px;min-height:65px;padding:8px 10px;display:grid}.attack-command:hover{border-color:var(--gold-light);color:#171219;background:var(--parchment-light)}.attack-command:has(input:checked){border-color:var(--gold-light);color:#171219;background:var(--parchment-light)}.attack-command:has(input:focus-visible){border-color:var(--gold-light);color:#171219;background:var(--parchment-light)}.attack-command input{opacity:0;pointer-events:none;position:absolute}.attack-command__icon{aspect-ratio:1;width:34px;color:var(--gold-light);background:#17161b;border:2px solid #a48a58;place-items:center;font-family:ui-monospace,monospace;font-weight:900;display:grid}.attack-command__copy{gap:2px;min-width:0;display:grid}.attack-command__copy small{color:#a99e8a;font-family:ui-monospace,monospace;font-weight:900}.attack-command__copy strong{overflow-wrap:anywhere;font-size:var(--font-size-min)}.attack-command__cursor{opacity:0}.attack-command:hover .attack-command__cursor{opacity:1}.attack-command:has(input:checked) .attack-command__cursor{opacity:1}.attack-command:has(input:focus-visible) .attack-command__cursor{opacity:1}.attack-command:hover .attack-command__copy small{color:#7b3a2e}.attack-command:has(input:checked) .attack-command__copy small{color:#7b3a2e}.attack-command:has(input:focus-visible) .attack-command__copy small{color:#7b3a2e}.battle-hint{color:#b9c8c4;font-size:var(--font-size-min);background:#20262a;gap:10px;margin:0;padding:9px 12px;display:flex}.battle-hint span{color:var(--cyan);font-weight:900}.battle-message{border:3px double var(--gold-light);background:#24222a;align-items:center;gap:14px;min-height:70px;padding:12px 16px;display:flex}.battle-message strong{color:var(--gold-light);font-size:19px}.battle-message p{color:#d3cdc2;font-size:var(--font-size-min);margin:3px 0 0}.battle-cursor{color:var(--gold-light);animation:.85s steps(2,end) infinite cursor-blink}@keyframes cursor-blink{50%{opacity:.2}}.battle-result .rpg-button{justify-self:end}
@media (max-width:980px){h1{font-size:43px}.game-screen__content{padding:26px}.title-screen .game-screen__content{grid-template-columns:1fr;gap:38px}.title-lockup h1{font-size:68px}.start-menu{width:min(440px,100%)}.guild-workspace,.attribute-roster,.bestiary-list{grid-template-columns:1fr}}@media (max-width:720px){h1{font-size:34px}h2{font-size:23px}.game-screen__content{padding:20px 16px 48px}.world-moon{border-width:4px;width:58px}.title-lockup h1{font-size:54px}.title-lockup>.title-slogan{font-size:16px}.game-topbar{flex-direction:column;align-items:flex-start}.game-topbar .rpg-button{width:100%}.guild-summary{grid-template-columns:1fr}.guild-summary>div{border-bottom:2px solid #514a43;border-right:0}.guild-summary>div:last-child{border-bottom:0}.hero-registry{padding:21px 17px}.hero-registry__head{flex-direction:column;align-items:stretch}.hero-registry__head>div{flex-basis:auto}.hero-registry details,.hero-registry details:not([open]),.hero-registry details[open]{flex-basis:auto;width:100%}.hero-registry summary{width:100%;margin-left:0}.hero-register-form{grid-template-columns:1fr}.hero-register-form .rpg-button{grid-column:1;width:100%}.adventure-book{display:block}.book-page{padding:30px 24px}.book-spine{width:100%;height:18px;min-height:18px}.book-clasp{display:none}.setup-ledger{display:block}.setup-ledger fieldset{padding:30px 24px}.setup-ledger>.rpg-button{width:calc(100% - 48px);margin:22px 24px;position:relative;bottom:auto;right:auto;transform:none}.game-form--upload{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:flex-start}.status-board{padding:17px}.skill-row{grid-template-columns:auto 1fr auto}.skill-meter{grid-column:2/-1;width:100%}.skill-copy small{white-space:normal}.quest-brief{grid-template-columns:50px 1fr;padding:20px}.quest-brief__marker{width:48px}.quest-brief>strong{display:none}.battle-screen .game-screen__content{padding:10px}.battle-hud{grid-template-columns:1fr;gap:10px;padding:12px 14px}.battle-stage{min-height:290px}.monster-sprite{width:240px;height:240px}.monster-platform{width:260px}.enemy-dialogue{padding:14px 16px}.enemy-dialogue p{font-size:17px}.attack-grid{grid-template-columns:1fr}.battle-command,.battle-result{padding:15px}.battle-result .rpg-button{width:100%}.bestiary-entry{grid-template-columns:auto 38px 1fr}.bestiary-entry__status{grid-column:2/-1;justify-self:start}}@media (max-width:420px){.game-screen__content{padding-left:12px;padding-right:12px}.title-lockup h1{font-size:46px}.start-menu{padding:24px 17px}.menu-command{font-size:var(--font-size-min)}.book-screen__header h1{font-size:40px}.book-page h2{font-size:26px}.upload-quest,.quest-log{padding:21px 17px}.status-board__header{align-items:flex-start}.status-board__rank{width:118px}.attribute-block{padding:11px}.attribute-block__head{grid-template-columns:36px 1fr auto}.attribute-sigil{width:34px}.battle-interface{border-width:3px}.monster-sprite{width:210px;height:210px}.battle-stage{min-height:255px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.world-backdrop{background-color:#11131d;background-position:50%;background-size:cover}.game-screen .world-backdrop{background-position:50%;background-repeat:no-repeat;background-size:cover}.game-screen--field .world-backdrop{background-image:url(/game-assets/maps/title-plaza.webp)}.game-screen--book .world-backdrop{background-image:url(/game-assets/maps/adventure-book.webp)}.game-screen--town .world-backdrop{background-image:url(/game-assets/maps/guild-hall.webp)}.game-screen--camp .world-backdrop{background-image:url(/game-assets/maps/hero-camp.webp)}.game-screen--battle .world-backdrop{background-image:url(/game-assets/maps/battlefields/g7-dawn-grassland.webp)}.game-screen--battle.battle-screen--g8 .world-backdrop{background-image:url(/game-assets/maps/battlefields/g8-ancient-forest.webp)}.game-screen--battle.battle-screen--g9 .world-backdrop{background-image:url(/game-assets/maps/battlefields/g9-eclipse-ruins.webp)}.game-screen--battle.battle-screen--g10 .world-backdrop{background-image:url(/game-assets/maps/battlefields/g10-forbidden-domain.webp)}.game-screen--battle.battle-screen--g11 .world-backdrop{background-image:url(/game-assets/maps/battlefields/g11-abyss-rift.webp)}.game-screen--battle.battle-screen--g12 .world-backdrop{background-image:url(/game-assets/maps/battlefields/g12-star-eclipse-realm.webp)}.world-backdrop:after{opacity:.12;background-color:#05070c;background-image:none}.title-screen .world-backdrop:after,.book-screen .world-backdrop:after,.battle-screen .world-backdrop:after{opacity:.04}.world-map-glow{background:#080a1114;display:block;position:absolute;inset:0}.game-kicker{gap:6px}.title-screen .game-screen__content{grid-template-rows:1fr auto;grid-template-columns:1fr;justify-items:center;gap:28px;padding-top:7vh;padding-bottom:7vh;display:grid}.title-lockup{text-align:center;align-content:start;justify-items:center;max-width:900px;display:grid}.title-lockup .game-kicker{justify-content:center}.title-lockup h1{color:#f8f0d4;text-shadow:0 5px #142846,0 9px #6b4527,0 14px 24px #000000b8;-webkit-text-stroke:2px #172845;margin:2px 0 14px;font-size:92px;line-height:.94}.title-lockup>.title-slogan{color:#fff5d7;text-shadow:2px 3px #11151d;background:#0b121bb3;padding:6px 18px}.start-menu{width:min(470px,100%);padding:26px 34px}.menu-command__icon,.battle-cursor,.attack-command__cursor{color:#0000;opacity:0;background-image:var(--sprite-forge-icon-command-cursor);background-position:50%;background-repeat:no-repeat;background-size:contain;width:32px;height:28px}
.book-screen .game-screen__content{width:min(1280px,100%);padding-top:24px;padding-bottom:36px}.book-screen__header{padding:8px 20px}.book-screen__header h1{color:#fff0c7;text-shadow:0 4px #3a2217,0 8px 18px #000}.book-screen__header p{color:#f3e1bf;text-shadow:2px 2px #21150f}.adventure-book{color:#2d2118;width:min(1080px,100%);box-shadow:none;background:0 0;border:0;border-radius:0;align-self:center}.book-spine{box-shadow:none;background:0 0}.book-clasp{display:none}.book-form input,.setup-ledger input{color:#281d16;background-color:#fffae0b8;background-image:none;border:0;box-shadow:inset 0 -2px #482f1d73}
.dashboard-screen .game-screen__content,.review-screen .game-screen__content,.student-screen .game-screen__content{background:#05080e2e;padding-top:32px}.guild-summary{box-shadow:none;background:0 0;border:0}.attribute-block{background:#080c156b;border:0}.attribute-sigil{color:#0000;background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:contain;border:0}.attribute-sigil img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}.guild-summary>div{border-right:0;min-height:86px;padding-left:30px;padding-right:30px}.hero-roster__entry,.quest-row,.bestiary-entry,.skill-row{min-height:76px;padding:15px 30px}.quest-brief__marker{color:#0000;background-color:#0000;background-image:url(/game-assets/ui/shop-items/mistake-book.png);background-position:50%;background-repeat:no-repeat;background-size:contain;border:0}.status-board,.upload-quest,.quest-log,.hero-registry{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.battle-screen .game-screen__content{width:min(1180px,100%)}.battle-interface{box-shadow:none;background:0 0;border:0;overflow:visible}.battle-hud{background-color:#070d1be6;border:0}.battle-stage,.battle-stage--medium,.battle-stage--hard{background:0 0;min-height:34vh;overflow:visible}.battle-stage:before,.battle-stage__fog,.monster-platform{display:none}.monster-sprite{width:270px;height:270px;margin-top:3vh}.enemy-dialogue,.battle-command,.battle-result{color:#f7efd8;background-color:#070d1bf0}.enemy-dialogue .game-kicker{color:var(--gold-light)}.attack-command__icon{width:46px;height:46px;color:var(--gold-light);background-image:none}.hit-burst{background-position:50%;background-repeat:no-repeat;background-size:contain;width:220px;height:220px}.battle-interface--victory .hit-burst{background-image:url(/game-assets/ui/slash-impact/animation.gif);animation:.92s steps(8,end) forwards localized-impact}.battle-interface--victory .hit-burst span{display:none}@keyframes localized-impact{0%,72%{opacity:1}to{opacity:0}}
@media (max-width:980px){.title-screen .game-screen__content{grid-template-columns:1fr}.title-lockup h1{font-size:74px}}@media (max-width:720px){.game-screen--field .world-backdrop{background-position:52%}.game-screen--book .world-backdrop{background-position:top}.game-screen--town .world-backdrop{background-position:43%}.game-screen--camp .world-backdrop{background-position:48%}.game-screen--battle .world-backdrop{background-position:top}.title-screen .game-screen__content{grid-template-rows:auto 1fr;gap:18px;padding-top:30px;padding-bottom:28px}.title-lockup h1{font-size:54px}.title-lockup>.title-slogan{font-size:var(--font-size-min)}.start-menu{align-self:end;padding:23px 22px}.adventure-book{display:block}.book-page,.setup-ledger fieldset,.book-page--right,.setup-ledger fieldset:last-of-type{margin-bottom:14px;padding:30px 24px}.book-spine{display:none}.guild-summary>div{border-bottom:0}.battle-stage{min-height:30vh}.monster-sprite{width:235px;height:235px;margin-top:3vh}}@media (max-width:420px){.title-lockup h1{font-size:44px}.book-screen__header h1{font-size:34px}.book-page,.setup-ledger fieldset,.book-page--right,.setup-ledger fieldset:last-of-type{padding:28px 20px}.battle-stage{min-height:28vh}.monster-sprite{width:210px;height:210px}}
.title-lockup{max-width:980px}.title-screen>.camp-spark-field{z-index:1;opacity:0;animation:1.2s ease-out 1.55s both title-sparks-arrive;position:fixed}.title-opening{z-index:80;pointer-events:none;animation:3.65s step-end both title-opening-dismiss;position:fixed;inset:0;overflow:hidden}.title-opening:after{z-index:3;content:"";opacity:0;background:#fff;height:2px;animation:1.15s ease-out .72s both title-eye-glint;position:absolute;top:50%;left:-10%;right:-10%;box-shadow:0 0 18px 8px #fffffff5,0 0 90px 38px #fff4ccb8}.title-opening__flash,.title-opening__eyelid{display:block;position:absolute;inset-inline:0}.title-opening__flash{z-index:4;background:radial-gradient(circle at 50% 48%,#fff 0 28%,#fffdf2 52%,#fff 100%);animation:1.18s cubic-bezier(.3,.02,.35,1) both title-white-flash;inset-block:0;box-shadow:inset 0 0 22vmax #fffffffa}.title-opening__eyelid{z-index:2;will-change:transform;background:radial-gradient(at 50% 100%,#2a2328f5 0,#0a090d 68%),#050508;height:52%}.title-opening__eyelid--top{border-radius:0 0 48% 48%/0 0 15% 15%;animation:1.25s cubic-bezier(.56,.02,.18,1) .72s both title-eyelid-open-top;top:0}.title-opening__eyelid--bottom{background:radial-gradient(at 50% 0,#2a2328f5 0,#0a090d 68%),#050508;border-radius:48% 48% 0 0/15% 15% 0 0;animation:1.25s cubic-bezier(.56,.02,.18,1) .72s both title-eyelid-open-bottom;bottom:0}.title-screen .world-backdrop{transform-origin:50%;will-change:transform, filter, background-position;animation:3.2s cubic-bezier(.18,.7,.2,1) .48s both title-camera-look-down}.title-screen .title-lockup{opacity:0;animation:.76s cubic-bezier(.2,.78,.24,1) 2.02s both title-lockup-arrive}.title-screen .start-menu{visibility:hidden;pointer-events:none;opacity:0;animation:.82s cubic-bezier(.16,.82,.2,1) 2.68s both title-menu-arrive}.title-screen[data-home-opening=skip] .world-backdrop,.title-screen[data-home-opening=skip]>.camp-spark-field,.title-screen[data-home-opening=skip] .title-lockup,.title-screen[data-home-opening=skip] .start-menu,.title-screen--skip-opening .world-backdrop,.title-screen--skip-opening>.camp-spark-field,.title-screen--skip-opening .title-lockup,.title-screen--skip-opening .start-menu{visibility:visible;pointer-events:auto;opacity:1;filter:none;animation:none;transform:none}.title-screen[data-home-opening=skip]>.camp-spark-field,.title-screen--skip-opening>.camp-spark-field{opacity:.72}.title-screen[data-home-opening=skip] .title-opening,.title-screen--skip-opening .title-opening{display:none}@keyframes title-white-flash{0%,34%{opacity:1;filter:brightness(1.24)}68%{opacity:.92}to{opacity:0;filter:brightness()}}@keyframes title-eye-glint{0%,18%{opacity:0;transform:scaleX(.08)}42%{opacity:1;transform:scaleX(.82)}to{opacity:0;transform:scaleX(1)}}@keyframes title-eyelid-open-top{0%,14%{transform:translateY(0)}to{transform:translateY(-104%)}}@keyframes title-eyelid-open-bottom{0%,14%{transform:translateY(0)}to{transform:translateY(104%)}}@keyframes title-camera-look-down{0%,18%{filter:blur(12px)brightness(1.55)saturate(.72);background-position:50% 0;transform:translateY(7vh)scale(1.18)}46%{filter:blur(3px)brightness(1.18)saturate(.9)}to{filter:none;background-position:50%;transform:translate(0,0)scale(1)}}@keyframes title-lockup-arrive{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes title-sparks-arrive{0%{opacity:0}to{opacity:.72}}@keyframes title-menu-arrive{0%{visibility:hidden;pointer-events:none;opacity:0;transform:translateY(28px)}1%{visibility:visible;pointer-events:auto}to{visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0)}}@keyframes title-opening-dismiss{0%{visibility:visible}to{visibility:hidden}}.title-lockup .game-kicker{color:#fffae5eb;text-shadow:0 2px 10px #00000094}.title-lockup h1{color:#fffaf0;white-space:nowrap;text-shadow:0 4px 18px #0f1827c7,0 1px #ffffff94;-webkit-text-stroke:0;margin:22px 0 18px;font-family:Noto Serif TC,Songti TC,STSong,PMingLiU,serif;font-size:76px;font-weight:900;line-height:1.12}.title-lockup>.title-slogan{color:#fffaeaf0;text-shadow:0 2px 12px #000000d1;background:0 0;padding:0}.title-screen .title-lockup>.title-description{text-align:center;text-wrap:balance;width:min(100%,640px);max-width:640px}.title-screen .start-menu{width:min(450px,100%);box-shadow:none;background:0 0;border:0;border-image:;padding:0}.title-screen .start-menu nav{gap:12px}.title-screen .menu-command-form{width:100%;margin:0}.title-screen .demo-unavailable{color:#ffe2a8;font-size:var(--font-size-min);text-align:center;text-shadow:0 2px 8px #000000b8;margin:12px 0 0}.title-screen .menu-command{color:#fffaf0;-webkit-backdrop-filter:blur(10px)saturate(1.12);backdrop-filter:blur(10px)saturate(1.12);text-shadow:0 2px 8px #000000bd;background-color:#0a192bc7;background-image:none;border:1px solid #ffffff61;border-radius:8px;grid-template-columns:minmax(0,1fr);justify-items:center;min-height:60px;padding:14px 20px;box-shadow:inset 0 1px #fff3,0 10px 30px #040a143d}.title-screen .menu-command__copy{opacity:1;text-align:center;width:auto;height:auto}.title-screen .menu-command__copy strong{letter-spacing:.1em;font-family:Noto Serif TC,Source Han Serif TC,Songti TC,STSong,PMingLiU,serif;font-size:21px;font-weight:800;line-height:1.35}.title-screen .menu-command:hover,.title-screen .menu-command:focus-visible{color:#fff;outline-offset:3px;filter:none;background-color:#1f3c54db;border-color:#ffffffc7;outline:2px solid #77e2ddb3;transform:translateY(-1px)}.title-screen .start-menu>small{color:#ffffff94;text-align:center;text-shadow:0 2px 8px #000000b3;margin-top:14px}@media (max-width:720px){.title-screen .title-lockup>.title-description{width:min(100%,520px)}.title-lockup h1{margin-top:16px;font-size:44px}.title-screen .menu-command{min-height:56px;font-size:16px}}@media (max-width:420px){.title-screen .title-lockup>.title-description{width:min(100%,300px)}.title-lockup h1{font-size:40px}}@media (prefers-reduced-motion:reduce){.title-opening{display:none}.title-screen .world-backdrop,.title-screen .title-lockup,.title-screen .start-menu{visibility:visible;pointer-events:auto;opacity:1;filter:none;animation:none;transform:none}}.pwa-install-card{z-index:160;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));color:#f2f6f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#181c22e0;border:1px solid #ffffff3d;border-radius:8px;max-width:420px;margin-inline:auto;padding:13px 15px;position:fixed;left:12px;box-shadow:0 10px 28px #00000073}.desktop-fullscreen-hint{z-index:150;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));color:#f2f6f5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#181c22e6;border:1px solid #d8b25a6b;border-radius:8px;max-width:420px;margin-inline:auto;padding:13px 15px;position:fixed;left:12px;box-shadow:0 10px 28px #00000073}.desktop-fullscreen-hint__title{margin:0 0 4px;font-size:16px;font-weight:900}.desktop-fullscreen-hint__hint{color:#ffffffb8;font-size:var(--font-size-min);margin:0 0 10px;line-height:1.5}.desktop-fullscreen-hint__hint kbd{color:#ffe7a2;font-family:ui-monospace,monospace;font-size:inherit;background:#ffffff14;border:1px solid #ffffff6b;border-radius:4px;padding:1px 6px;font-weight:900}.desktop-fullscreen-hint__actions{justify-content:flex-end;gap:8px;display:flex}.desktop-fullscreen-hint__dismiss{min-height:var(--touch-target-min);cursor:pointer;color:#ffe7a2;background:#704c174d;border:1px solid #d8b25a8c;border-radius:7px;padding:8px 16px;font-weight:900}.desktop-fullscreen-hint__dismiss:hover,.desktop-fullscreen-hint__dismiss:focus-visible{outline-offset:2px;background:#92681c6b;border-color:#ffe294d9;outline:2px solid #ffd68259}.pwa-install-card__title{margin:0 0 4px;font-size:16px;font-weight:900}.pwa-install-card__hint{color:#ffffffb8;font-size:var(--font-size-min);margin:0 0 10px;line-height:1.5}.pwa-install-card__actions{justify-content:flex-end;gap:8px;display:flex}.pwa-install-card__install,.pwa-install-card__later{min-height:var(--touch-target-min);cursor:pointer;color:#fff;background:#ffffff17;border:1px solid #ffffff5c;border-radius:7px;padding:8px 18px;font-weight:900}.pwa-install-card__install{background:#407e829e;border-color:#b1ede9b8}
.dashboard-screen{--guild-glass:#2222244d;--guild-glass-soft:#42424447;--guild-border:#ffffff3d;--guild-border-strong:#fff6;--guild-muted:#efefecad}.dashboard-screen:after{opacity:.08}.dashboard-screen .world-backdrop:after{opacity:.28;background:#171719}.dashboard-screen .world-map-glow{background:#1212141f}.dashboard-screen .game-screen__content{background:0 0;gap:20px;width:min(1160px,100%);padding:36px 28px 72px}.dashboard-screen .game-kicker{color:#fff6dacc;text-shadow:0 2px 10px #0000009e}.dashboard-screen .game-topbar{text-shadow:none;border:0;align-items:flex-end;padding:4px 2px 10px}.dashboard-screen .game-topbar h1{color:#fffaf0;text-shadow:0 4px 18px #000000bd;margin:8px 0 5px;font-family:Noto Serif TC,Songti TC,STSong,PMingLiU,serif;font-size:46px;line-height:1.12}.dashboard-screen .game-topbar p:last-child{color:#f4f7f3bd;font-size:var(--font-size-min);text-shadow:0 2px 8px #000000b3}.guild-glass-panel,.dashboard-screen .status-board,.dashboard-screen .system-message{border:1px solid var(--guild-border);background:var(--guild-glass);-webkit-backdrop-filter:blur(18px)saturate(.28);backdrop-filter:blur(18px)saturate(.28);border-image:;border-radius:8px;box-shadow:inset 0 1px #ffffff1a,0 18px 44px #02081038}.dashboard-screen .guild-glass-button{border:1px solid var(--guild-border-strong);color:#fffaf0;-webkit-backdrop-filter:blur(14px)saturate(.34);backdrop-filter:blur(14px)saturate(.34);text-shadow:0 2px 8px #000000ad;background-color:#4545485c;background-image:none;border-radius:8px;justify-content:center;align-items:center;min-height:50px;padding:12px 20px;transition:border-color .16s,background-color .16s,transform .16s;display:inline-flex;box-shadow:inset 0 1px #ffffff2e,0 10px 26px #02081033}.dashboard-screen .guild-glass-button:hover,.dashboard-screen .guild-glass-button:focus-visible{color:#fff;outline-offset:3px;filter:none;background-color:#6060638f;border-color:#ffffffc2;outline:2px solid #77e2dd9e;transform:translateY(-1px)}.dashboard-screen .guild-glass-button:active{transform:translateY(0)}.dashboard-screen .guild-glass-button:disabled{cursor:not-allowed;opacity:.46;filter:none;outline:0;transform:none}.dashboard-screen .guild-summary{grid-template-columns:repeat(3,minmax(0,1fr));padding:0;overflow:hidden}.dashboard-screen .guild-summary>div{background:0 0;border:0;border-right:1px solid #ffffff24;min-height:78px;padding:15px 22px}.dashboard-screen .guild-summary>div:last-child{border-right:0}.dashboard-screen .guild-summary span{color:#f5f6f0c2;font-size:var(--font-size-min)}.dashboard-screen .guild-summary strong{color:#fff3c7;text-shadow:0 2px 10px #0000007a;font-size:30px}.dashboard-screen .guild-summary small{color:#d2e1e570;font-size:var(--font-size-min)}.dashboard-screen .system-message{color:#dff9e2;margin:0;padding:13px 18px}
.dashboard-screen .hero-registry,.dashboard-screen .upload-quest,.dashboard-screen .quest-log{padding:24px}.dashboard-screen .hero-registry__head{border-bottom:1px solid #ffffff24;padding-bottom:17px}.dashboard-screen .hero-registry__head>div>span,.dashboard-screen .window-title>span,.dashboard-screen .status-board__kicker{color:#ffe7a4b8;font-family:ui-monospace,monospace;font-size:var(--font-size-min);font-weight:900}.dashboard-screen .hero-registry__head h2,.dashboard-screen .window-title h2{color:#fffaf0;margin:5px 0 0;font-size:24px}.dashboard-screen .window-title{border-bottom:1px solid #ffffff24;justify-content:start;gap:0;margin-bottom:18px;padding-bottom:14px;display:grid}.dashboard-screen .window-title h2{text-align:left}.dashboard-screen .hero-register-form{border-top:1px solid #ffffff1f;gap:15px;margin-top:18px;padding-top:18px}.dashboard-screen .game-form label{color:#f5f6f0c2;font-size:var(--font-size-min)}.dashboard-screen .game-form input,.dashboard-screen .game-form select,.dashboard-screen .game-form textarea{color:#fffaf0;background:#18181a6b;border:1px solid #fff3;border-radius:6px;min-height:46px;padding:10px 13px;box-shadow:inset 0 1px #ffffff0f}.dashboard-screen .game-form input:focus,.dashboard-screen .game-form select:focus,.dashboard-screen .game-form textarea:focus{outline-offset:2px;border-color:#77e2ddc2;outline:2px solid #77e2dd33}.dashboard-screen .game-form input[readonly]{color:#c4c4c094;box-shadow:none;cursor:not-allowed;background:#0c0c0ead;border-color:#ffffff1f}.dashboard-screen .game-form input[readonly]:focus{box-shadow:none;border-color:#ffffff1f;outline:0}.dashboard-screen .hero-edit-form label:has(input[readonly]):after{color:#ffffff80;content:"帳號建立後不可修改";font-size:var(--font-size-min);margin-top:5px;font-weight:700;display:block}.dashboard-screen .game-form select option{color:#f7efd8;background:#2b2b2e}.dashboard-screen .hero-roster{gap:10px;margin-top:16px}.dashboard-screen .hero-roster__entry{background:var(--surface-2);background-image:none;border:1px solid #ffffff24;border-radius:7px;min-height:64px;padding:10px 14px}.dashboard-screen .hero-roster__entry>span{color:#b0dfebb3;font-size:var(--font-size-min)}.dashboard-screen .hero-roster__entry strong{color:#fffaf0}.dashboard-screen .hero-roster__entry small{color:var(--guild-muted)}.dashboard-screen .guild-workspace{gap:16px}.dashboard-screen .upload-quest>p{color:var(--guild-muted);font-size:var(--font-size-min);margin-bottom:18px}.dashboard-screen .game-form--upload{grid-template-columns:minmax(150px,.38fr) minmax(230px,1fr);gap:15px}.dashboard-screen .file-drop>span{color:#f1f7f4c2;background:#18181a52;border:1px dashed #ffffff57;border-radius:6px;min-height:46px}.dashboard-screen .file-drop:hover>span,.dashboard-screen .file-drop:focus-within>span{color:#bdf8f4;border-color:#77e2ddc7}.dashboard-screen .quest-log .list{gap:9px;margin-top:16px}.dashboard-screen .quest-row{background:var(--surface-2);background-image:none;border:1px solid #ffffff24;border-radius:7px;grid-template-columns:30px minmax(0,1fr) 16px;min-height:64px;padding:10px 13px}.dashboard-screen .quest-row:hover,.dashboard-screen .quest-row:focus-visible{outline-offset:2px;background:#2340527a;border-color:#ffffff7a;outline:2px solid #77e2dd61}.dashboard-screen .quest-row__marker{color:#b0dfebad;font-size:var(--font-size-min)}.dashboard-screen .quest-row small,.dashboard-screen .empty-state{color:var(--guild-muted)}
.dashboard-screen .status-section{gap:14px;margin-top:8px}.dashboard-screen .guild-section-heading{justify-content:flex-start;align-items:center;gap:16px;padding:8px 2px 0}.dashboard-screen .guild-section-heading h2{color:#fffaf0;text-shadow:0 3px 14px #000000a3;font-size:28px}.dashboard-screen .status-board{color:#f3ecda;padding:22px}.dashboard-screen .status-board__header{border-bottom:1px solid #ffffff24;margin-bottom:16px;padding-bottom:14px}.dashboard-screen .status-board__header h2{color:#fffaf0;font-size:22px}.dashboard-screen .status-board__rank{color:#ffe8ad;background:#ffeab314;border:1px solid #ffe8ab80;border-radius:8px;width:132px}.dashboard-screen .attribute-roster{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:11px}.dashboard-screen .attribute-block{background:var(--surface-1);border:1px solid #ffffff1c;border-radius:7px;padding:14px}.dashboard-screen .attribute-block__head{border-bottom:1px solid #ffffff1c;margin-bottom:10px;padding-bottom:10px}.dashboard-screen .attribute-block__head p{color:var(--guild-muted)}.dashboard-screen .skill-list{gap:5px}.dashboard-screen .skill-row{border:0;border-left:3px solid var(--attribute);background:#01081059;border-radius:4px;min-height:52px;padding:7px 9px}.dashboard-screen .skill-row--locked{opacity:.5;border-left-color:#ffffff29}.dashboard-screen .skill-copy small{color:#dae3e48f}.dashboard-screen .skill-meter{background:#0000006b;border:0;border-radius:4px;height:7px}.dashboard-screen .skill-fill{border-radius:inherit}
@media (max-width:900px){.dashboard-screen .guild-workspace{grid-template-columns:1fr}}@media (max-width:720px){.dashboard-screen .game-screen__content{gap:15px;padding:22px 14px 52px}.dashboard-screen .game-topbar{align-items:stretch;gap:17px}.dashboard-screen .game-topbar h1{font-size:38px}.dashboard-screen .game-topbar form,.dashboard-screen .game-topbar .guild-glass-button,.dashboard-screen .hero-registry summary,.dashboard-screen .hero-register-form .guild-glass-button,.dashboard-screen .game-form--upload .guild-glass-button{width:100%}.dashboard-screen .guild-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-screen .guild-summary>div{text-align:center;border-bottom:0;border-right:1px solid #ffffff1f;grid-template-columns:1fr;justify-items:center;gap:2px;min-height:72px;padding:11px 6px}.dashboard-screen .guild-summary strong{grid-area:auto;font-size:26px}.dashboard-screen .guild-summary small{display:none}.dashboard-screen .hero-registry,.dashboard-screen .upload-quest,.dashboard-screen .quest-log,.dashboard-screen .status-board{padding:18px}.dashboard-screen .hero-registry__head{align-items:stretch}.dashboard-screen .hero-register-form,.dashboard-screen .game-form--upload{grid-template-columns:1fr}.dashboard-screen .hero-register-form .guild-glass-button,.dashboard-screen .game-form--upload .guild-glass-button{grid-column:1}.dashboard-screen .hero-roster{grid-template-columns:1fr}.dashboard-screen .guild-section-heading{align-items:flex-start;gap:5px}.dashboard-screen .attribute-roster{grid-template-columns:1fr}.dashboard-screen .skill-row{grid-template-columns:minmax(0,1fr) auto}.dashboard-screen .skill-meter{grid-column:1/-1;width:100%}.dashboard-screen .skill-copy small{white-space:normal}}@media (max-width:420px){.dashboard-screen .game-topbar h1{font-size:34px}.dashboard-screen .guild-summary span{font-size:var(--font-size-min)}.dashboard-screen .guild-summary strong{font-size:24px}.dashboard-screen .hero-registry,.dashboard-screen .upload-quest,.dashboard-screen .quest-log,.dashboard-screen .status-board{padding:16px}.dashboard-screen .attribute-block{padding:11px}}
.dashboard-screen{width:100%;height:100dvh;min-height:100dvh;overflow:hidden}.dashboard-screen .world-backdrop:after{opacity:.06}.dashboard-screen .world-map-glow{background:0 0}.dashboard-screen .game-screen__content{grid-template-rows:clamp(16px,3dvh,32px) minmax(0,1fr);align-content:stretch;gap:0;width:100%;max-width:none;height:100%;padding:0;overflow:hidden}.guild-scene{pointer-events:none;min-height:0}.guild-console{min-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;overflow:hidden}.guild-console__inner{border:1px solid var(--console-glass-border);border-top-color:var(--console-glass-border-top);background:var(--console-glass-background);width:min(1180px,100%);height:calc(100% - clamp(48px,9dvh,90px));min-height:0;box-shadow:var(--console-glass-shadow);-webkit-backdrop-filter:var(--console-glass-filter);backdrop-filter:var(--console-glass-filter);border-radius:0 0 8px 8px;grid-template-rows:auto auto minmax(0,1fr);margin:0 auto;padding:0 28px;display:grid;overflow:hidden}.guild-console__header{grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:26px;min-height:78px;padding:10px 0;display:grid}.guild-console__title{gap:2px;display:grid}.guild-console__title-line>span,.guild-tab-number{color:#ffe7a4b3;font-family:ui-monospace,monospace;font-size:var(--font-size-min);font-weight:900}.guild-console__title h1{color:#fffaf0;text-shadow:0 3px 14px #00000094;margin:0;font-family:Noto Serif TC,Songti TC,STSong,PMingLiU,serif;font-size:27px;line-height:1.1}.guild-referral-code{color:#ffe7a4c7;width:fit-content;font:800 var(--font-size-min)/1.2 ui-monospace, monospace;letter-spacing:.03em;cursor:pointer;background:0 0;border:0;padding:1px 0}.guild-referral-code:hover,.guild-referral-code:focus-visible{color:#fff1bd;text-underline-offset:3px;text-decoration:underline}.guild-console__stats{align-items:center;gap:4px;display:flex}.guild-console__stats>div{color:#ffffffb3;background:var(--surface-3);grid-template-columns:auto auto;justify-content:center;align-items:baseline;gap:6px;min-width:62px;padding:8px 10px;display:grid}.guild-console__stats strong{color:#fff4cd;font-family:ui-monospace,monospace;font-size:20px}.guild-console__stats span{font-size:var(--font-size-min);font-weight:800}.guild-console__header .guild-glass-button{min-height:42px;padding:8px 16px}
.guild-message-center{display:flex;position:relative}.guild-message-button{cursor:pointer;font:inherit;border:0;gap:6px;position:relative}.guild-message-button.has-unread{color:#fff1be;text-shadow:0 0 12px #f0c15466}.guild-message-button__badge{color:#fff;min-width:18px;height:18px;font-family:ui-monospace,monospace;font-size:var(--font-size-min);background:#d83b35;border:2px solid #281b13;border-radius:999px;place-items:center;padding-inline:4px;font-weight:900;line-height:1;display:grid;position:absolute;top:7px;right:8px;box-shadow:0 0 0 1px #ffdda46b,0 0 10px #d83b359e}.guild-message-panel{z-index:80;color:#f7ecd0;background:linear-gradient(#34291dfa,#14110ffa),#201a15;border:1px solid #e1be6f8c;border-radius:14px;grid-template-rows:auto minmax(0,1fr) auto;width:min(420px,100vw - 28px);max-height:min(610px,100dvh - 128px);display:grid;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 18px 48px #0000008f,inset 0 1px #ffffff14}.guild-message-panel__header,.guild-message-panel__footer{background:#08070638;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.guild-message-panel__header{border-bottom:1px solid #e1be6f38}.guild-message-panel__header small{color:#8fcfc5;font-family:ui-monospace,monospace;font-size:var(--font-size-min);letter-spacing:.12em;font-weight:900}.guild-message-panel__header h2{margin:2px 0 0;font-size:20px}.guild-message-panel__close{cursor:pointer;background:#ffffff0d;border:1px solid #e1be6f4d;border-radius:9px;place-items:center;width:40px;height:40px;display:grid}.guild-message-panel__close .system-ui-icon{width:24px;height:24px}.guild-message-panel__list{padding:10px;overflow-y:auto}.guild-message-card{background:var(--surface-1);border:1px solid #d6be892e;border-radius:10px;padding:12px 13px;position:relative}.guild-message-card+.guild-message-card{margin-top:8px}.guild-message-card.is-unread{background:#e0ae4c1a;border-color:#e0ae4c80}.guild-message-card.is-unread:before{content:"";background:#e3443d;border-radius:50%;width:7px;height:7px;position:absolute;top:15px;left:7px;box-shadow:0 0 8px #e3443dbf}.guild-message-card.is-unread .guild-message-card__heading,.guild-message-card.is-unread p{padding-left:7px}.guild-message-card__heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.guild-message-card__heading strong{color:#fff3c8;font-size:var(--font-size-min)}.guild-message-card__heading time{color:#e7dcc294;font-size:var(--font-size-min);flex:none}.guild-message-card p,.guild-message-panel__empty{color:#f4ebd5c7;font-size:var(--font-size-min);margin:6px 0 0;line-height:1.55}.guild-message-panel__empty{text-align:center;padding:26px 18px}.guild-message-panel__footer{border-top:1px solid #e1be6f38;justify-content:flex-end}.guild-message-panel__footer button{color:#f7e7bc;cursor:pointer;min-height:40px;font:inherit;font-size:var(--font-size-min);background:#e0ae4c1c;border:1px solid #e1be6f61;border-radius:8px;padding:8px 14px;font-weight:800}.guild-message-panel__footer button:disabled{cursor:default;opacity:.45}
.guild-console__navigation{border-top:1px solid #ffffff21;border-bottom:1px solid #ffffff2e;grid-template-columns:38px minmax(0,1fr) 38px;align-items:stretch;display:grid}.guild-page-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.guild-page-tabs>button,.guild-page-arrow{cursor:pointer;color:#ffffff94;background:0 0;border:0;min-width:0;min-height:48px}.guild-page-tabs>button{border-right:1px solid #ffffff17;justify-content:center;align-items:center;gap:9px;font-weight:900;display:flex}.guild-tab-icon{object-fit:contain;width:30px;height:30px;image-rendering:pixelated;filter:saturate(.78)brightness(.9);flex:0 0 30px;transition:filter .15s,transform .15s;display:block}.guild-page-tabs>button:hover .guild-tab-icon,.guild-page-tabs>button:focus-visible .guild-tab-icon,.guild-page-tabs>button.is-active .guild-tab-icon{filter:saturate(1.05)brightness(1.12);transform:translateY(-1px)}.guild-tab-label{text-align:left;display:grid}.guild-glass-button{align-items:center;gap:8px;display:flex}.guild-glass-button>img{object-fit:contain;width:30px;height:30px;image-rendering:pixelated}.guild-glass-button>span{text-align:left;display:grid}.icon-button-content__icon{flex:0 0 40px;place-items:center;width:40px;height:40px}.icon-button-content__icon>img{object-fit:contain;width:40px;height:40px;image-rendering:pixelated;display:block}.icon-button-content__label{font:inherit;font-weight:900}.guild-page-tabs>button:first-child{border-left:1px solid #ffffff17}.guild-page-tabs>button:hover,.guild-page-tabs>button:focus-visible,.guild-page-tabs>button.is-active,.guild-page-arrow:hover,.guild-page-arrow:focus-visible{color:#fff;outline-offset:-3px;background:#ffffff1f;outline:2px solid #f2d07c80}.guild-page-tabs>button.is-active{box-shadow:inset 0 -3px #9ae7e2e6}.guild-tab-label small{display:none}.guild-page-arrow{place-items:center;font-family:Georgia,serif;font-size:25px;display:grid}
.guild-console__viewport{scrollbar-gutter:stable;min-height:0;padding:16px 2px 24px;overflow:hidden auto}:is(.scroll-fade,.guild-console__viewport:has(.attribute-roster),.camp-console__viewport:has(.attribute-roster),.camp-console__viewport:has(.student-ability-board)){--scroll-fade-size:28px;padding-bottom:calc(var(--scroll-fade-size) + 24px);-webkit-mask-image:linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-size)), transparent 100%);-webkit-mask-image:linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-size)), transparent 100%);mask-image:linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-size)), transparent 100%)}.guild-page{width:100%;margin:0}.dashboard-screen .guild-page.hero-registry,.dashboard-screen .guild-page.upload-quest,.dashboard-screen .guild-page.quest-log,.dashboard-screen .guild-page.status-section{padding:0}.dashboard-screen .guild-page .window-title{margin-bottom:13px;padding-bottom:11px}.dashboard-screen .guild-page--quests .list{grid-template-columns:minmax(0,1fr)}.dashboard-screen .guild-page--abilities .status-stack{gap:14px;min-width:0}.dashboard-screen .guild-page--abilities .status-board{-webkit-backdrop-filter:blur(8px)saturate(.4);backdrop-filter:blur(8px)saturate(.4);background:#1c1d2061;min-width:0}.dashboard-screen .student-attribute-panel{background:var(--surface-1);border:1px solid #ffffff1c;border-radius:7px}
.transmutation-modal{z-index:80;-webkit-backdrop-filter:blur(5px)saturate(.5);backdrop-filter:blur(5px)saturate(.5);background:#0406095c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.study-guide-transmutation{z-index:260}.transmutation-modal__panel{color:#fff;-webkit-backdrop-filter:blur(16px)saturate(.55);backdrop-filter:blur(16px)saturate(.55);background:#1c1d20a3;border:1px solid #ffffff75;border-radius:8px;grid-template-columns:180px minmax(0,1fr);gap:16px 22px;width:min(540px,100%);max-height:calc(100dvh - 40px);padding:22px;display:grid;overflow-y:auto;box-shadow:0 26px 80px #00000085,inset 0 1px #ffffff29}.transmutation-visual{aspect-ratio:1;background:#050c1247;border:1px solid #a4e8e43d;border-radius:7px;grid-row:1/3;place-items:center;display:grid;overflow:hidden}.transmutation-visual img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}.transmutation-modal__panel--complete .transmutation-visual{box-shadow:inset 0 0 28px #59eada29,0 0 32px #59eada1f}.transmutation-copy{align-self:end}.transmutation-copy>span{color:#96e7e1c7;font-family:ui-monospace,monospace;font-size:var(--font-size-min);font-weight:900}.transmutation-copy h2{color:#fffaf0;margin:5px 0 7px;font-size:26px}.transmutation-copy p{color:#ffffffb3;font-size:var(--font-size-min);margin:0;line-height:1.65}.transmutation-progress{background:#0000006b;border-radius:4px;align-self:start;height:8px;position:relative;overflow:hidden}.transmutation-progress>span{border-radius:inherit;background:#8adfd9;transition:width .32s;position:absolute;inset:0 auto 0 0;box-shadow:0 0 14px #68e6dc94}.transmutation-progress.is-processing>span{animation:.9s ease-in-out infinite alternate transmutation-pulse}@keyframes transmutation-pulse{to{filter:brightness(1.45)}}.transmutation-steps{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.transmutation-steps li{color:#ffffff61;font-size:var(--font-size-min);text-align:center;border-top:2px solid #ffffff24;padding-top:7px;font-weight:800}.transmutation-steps li.is-active{color:#ffffffd1;border-color:#8adfd9}.transmutation-command{cursor:pointer;color:#fff;background:#ffffff1a;border:1px solid #ffffff61;border-radius:7px;grid-column:1/-1;min-height:42px;font-weight:900}.transmutation-command:hover,.transmutation-command:focus-visible{outline-offset:2px;background:#ffffff2b;border-color:#ffffffbd;outline:2px solid #8adfd975}
@media (max-width:720px){.dashboard-screen .game-screen__content{grid-template-rows:minmax(230px,40dvh) minmax(0,1fr)}.dashboard-screen .world-backdrop{background-position:top}.guild-console__inner{padding:0 14px}.guild-console__header{grid-template-columns:minmax(0,1fr) auto auto;gap:12px;min-height:72px}.guild-console__title h1{font-size:23px}.guild-console__stats{display:flex}.guild-console__stats>div{display:none}.guild-console__stats .guild-resource-button{min-width:78px;min-height:38px;padding-inline:7px}.guild-console__header form{width:auto}.guild-console__header .guild-glass-button{width:auto;min-height:38px;font-size:var(--font-size-min);padding:7px 12px}.guild-message-button{width:44px;padding-inline:8px}.guild-message-button__badge{top:3px;right:3px}.guild-message-panel{width:auto;max-height:calc(100dvh - 96px);position:fixed;top:82px;left:12px;right:12px}.guild-console__navigation{grid-template-columns:32px minmax(0,1fr) 32px}.guild-page-tabs>button{gap:0;min-height:45px}.guild-tab-number,.guild-tab-label>span{display:none}.guild-tab-label small{font-size:var(--font-size-min);display:inline}.guild-console__viewport{padding-top:13px}.dashboard-screen .guild-page--quests .list{grid-template-columns:1fr}.transmutation-modal__panel{grid-template-columns:120px minmax(0,1fr);gap:13px 16px;padding:16px}.transmutation-copy h2{font-size:21px}}@media (max-width:420px){.dashboard-screen .game-screen__content{grid-template-rows:minmax(210px,37dvh) minmax(0,1fr)}.transmutation-modal{padding:12px}.transmutation-modal__panel{grid-template-columns:1fr}.transmutation-visual{grid-row:auto;justify-self:center;width:132px}.transmutation-copy{text-align:center}.transmutation-progress,.transmutation-steps,.transmutation-command{grid-column:1}}
.dashboard-screen .game-screen__content{width:100%;max-width:none;height:100%;min-height:0;padding:0;display:block;position:relative;overflow:hidden}.dashboard-screen .world-backdrop{background-position:50%}.guild-scene{display:none}.guild-console{z-index:2;position:absolute;inset:0;overflow:hidden}.guild-console__inner{width:100%;height:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr);margin:0;padding:0;display:grid;position:relative;overflow:hidden}.guild-console__header{z-index:60;width:min(1500px,100% - 48px);min-height:116px;-webkit-backdrop-filter:var(--glass-blur-overlay);backdrop-filter:var(--glass-blur-overlay);background:#17141294;border:1px solid #f2d07c6b;border-radius:10px;grid-template-columns:minmax(230px,1fr) auto;align-items:center;gap:24px;margin:22px auto 0;padding:14px 20px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff24,0 18px 45px #00000057}.guild-console__title h1{font-size:clamp(28px,2.2vw,38px)}.guild-console__title-line{align-items:baseline;gap:12px;min-width:0;display:flex}.guild-referral-row{align-items:center;gap:12px;width:fit-content;max-width:100%;display:flex}.guild-referral-value{align-items:baseline;gap:8px;min-width:0;display:flex}.guild-referral-value small{color:#ffe7a4ad;font-size:var(--font-size-min);white-space:nowrap}.guild-referral-value strong{color:#fff4cd;font-family:ui-monospace,monospace;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.guild-console__tools{align-items:stretch;gap:8px;min-width:0;display:flex}.guild-topbar-item{--guild-topbar-icon-size:52px;--guild-topbar-icon-slot:58px;grid-template-columns:var(--guild-topbar-icon-slot) minmax(0, auto);color:#ffffffd1;min-width:108px;min-height:64px;font:inherit;text-shadow:0 2px 7px #0000008a;background:#fff1;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:9px 12px;text-decoration:none;display:grid;box-shadow:inset 0 1px #ffffff14}.guild-topbar-item__icon{width:var(--guild-topbar-icon-slot);height:var(--guild-topbar-icon-slot);place-items:center;display:grid}.guild-topbar-item__icon img{width:var(--guild-topbar-icon-size);height:var(--guild-topbar-icon-size);object-fit:contain;image-rendering:pixelated;display:block}.guild-topbar-item__copy{text-align:left;gap:2px;min-width:0;display:grid}.guild-topbar-item__mobile-label{display:none}.guild-topbar-item strong{color:#fff4cd;font-size:var(--font-size-min);white-space:nowrap;line-height:1.1}.guild-topbar-item small{color:#ffffff94;font-size:var(--font-size-min);white-space:nowrap;font-weight:800;line-height:1.1}.guild-topbar-stat{cursor:default;background:var(--surface-2)}.guild-topbar-stat strong,.guild-resource-button strong{font-family:ui-monospace,monospace;font-size:21px}.guild-topbar-action{cursor:pointer;transition:border-color .16s,background-color .16s,transform .16s}.guild-topbar-action:hover,.guild-topbar-action:focus-visible{outline-offset:2px;color:#fff;background:#ffffff24;border-color:#f2d07cb8;outline:2px solid #91e2dc6b;transform:translateY(-1px)}.guild-resource-button{background:#7c53122e;border:1px solid #f2d07c47;min-width:132px;min-height:64px;padding:9px 12px}.guild-notification-control{display:flex}.guild-notification-button{font:inherit;border:1px solid #ffffff2e}.guild-notification-button.is-active{background:#3e6e663d;border-color:#82e4cd85}.guild-console__viewport{scrollbar-gutter:auto;min-height:0;padding:0;position:relative;overflow:hidden}
.guild-floor-shell,.guild-floor{width:100%;height:100%;min-height:0;position:relative}.guild-floor:before{content:"";pointer-events:none;background:linear-gradient(#05040314,#0000 16%),radial-gradient(at 52%,#ffca7014,#0000 42%);position:absolute;inset:0}.guild-floor__hint{z-index:12;color:#ffffffc2;-webkit-backdrop-filter:blur(10px)saturate(.68);backdrop-filter:blur(10px)saturate(.68);pointer-events:none;background:#0f0e0d6b;border:1px solid #ffffff29;border-radius:8px;align-items:center;gap:10px;padding:9px 13px;display:flex;position:absolute;top:18px;left:28px;box-shadow:inset 0 1px #ffffff14}.guild-floor__hint>span{color:#e8c16d;width:28px;height:28px;font-size:22px}.guild-floor__hint p{gap:1px;margin:0;display:grid}.guild-floor__hint strong{color:#fff4cd;font-size:var(--font-size-min)}.guild-floor__hint small{color:#ffffff94;font-size:var(--font-size-min)}.guild-floor__residents{pointer-events:none;position:absolute;inset:0;overflow:hidden}.guild-resident{z-index:var(--resident-depth);left:var(--resident-x-0);top:var(--resident-y-0);pointer-events:auto;width:clamp(132px,11.25vw,183px);animation:guild-resident-wander var(--walk-duration) linear var(--walk-delay) infinite;will-change:left, top;position:absolute;transform:translate(-50%,calc(54px - 100%))}.guild-resident:hover,.guild-resident:focus-within,.guild-resident.is-selected{z-index:95;animation-play-state:paused}.guild-resident__character{cursor:pointer;color:#fff;width:100%;min-height:210px;font:inherit;background:0 0;border:0;place-items:end center;padding:0 0 54px;display:grid;position:relative}.guild-resident__character>img{z-index:2;object-fit:contain;object-position:center bottom;width:100%;height:clamp(138px,13.5vw,189px);image-rendering:pixelated;filter:drop-shadow(0 7px 5px #00000075);transition:filter .16s,transform .16s;animation:.7s steps(2,end) infinite alternate guild-resident-step;display:block;position:relative}.guild-resident__shadow{z-index:1;filter:blur(2px);background:#00000085;border-radius:50%;width:64%;height:14px;position:absolute;bottom:53px;left:50%;transform:translate(-50%);box-shadow:0 2px 7px #00000061}.guild-resident__identity{z-index:3;color:#fff4cd;width:max-content;max-width:170px;font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;background:#100e0cb8;border:1px solid #fff3;border-radius:9px;grid-template-columns:auto auto;gap:1px 8px;padding:5px 10px;line-height:1.25;display:grid;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 5px 12px #00000047}.guild-resident__identity small,.guild-resident__identity b{color:#d7f4f0b8;font-size:var(--font-size-min);font-weight:800}.guild-resident__identity b{color:#ffe5a0}.guild-resident__identity strong{font-size:var(--font-size-min);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.guild-resident__character:hover,.guild-resident__character:focus-visible{outline:0}.guild-resident__character:hover>img,.guild-resident__character:focus-visible>img,.guild-resident.is-selected .guild-resident__character>img{filter:drop-shadow(0 7px 5px #00000075)drop-shadow(0 0 10px #ffda7ea3);transform:translateY(-3px)}.guild-resident__character:focus-visible .guild-resident__identity,.guild-resident.is-selected .guild-resident__identity{outline-offset:2px;border-color:#91e2dcb8;outline:2px solid #91e2dc57}.guild-resident__speech{z-index:8;color:#332414;width:max-content;max-width:min(240px,66vw);font-size:var(--font-size-min);text-align:center;pointer-events:none;background:#fff7dcf0;border:1px solid #ffe5a0b8;border-radius:10px;padding:8px 11px;font-weight:900;line-height:1.42;animation:.26s ease-out both guild-speech-pop;position:absolute;bottom:calc(100% - 24px);left:50%;transform:translate(-50%);box-shadow:0 9px 24px #00000057,inset 0 1px #fff}.guild-resident__speech:after{content:"";background:#fff7dcf0;border-bottom:1px solid #ffe5a0b8;border-right:1px solid #ffe5a0b8;width:12px;height:12px;position:absolute;top:100%;left:50%;transform:translate(-50%,-6px)rotate(45deg)}
.guild-student-window{z-index:110;width:min(480px,100% - 24px);max-height:calc(100% - 24px);-webkit-backdrop-filter:var(--glass-blur-overlay);backdrop-filter:var(--glass-blur-overlay);background:#111214c2;border:1px solid #f2d07c70;border-radius:10px;animation:.18s ease-out both guild-window-enter;position:absolute;top:12px;left:12px;overflow:visible;box-shadow:inset 0 1px #ffffff24,0 22px 58px #00000080}.guild-student-window.is-measuring{visibility:hidden;pointer-events:none}.guild-student-window:before{z-index:-1;content:"";background:#111214e6;border-top:1px solid #f2d07c70;border-right:1px solid #f2d07c70;width:18px;height:18px;position:absolute;top:clamp(48px,22%,118px)}.guild-student-window[data-side=right]:before{left:-10px;transform:rotate(225deg)}.guild-student-window[data-side=left]:before{right:-10px;transform:rotate(45deg)}.guild-floor-notices{z-index:120;pointer-events:none;width:min(520px,100% - 40px);position:absolute;top:12px;left:50%;transform:translate(-50%)}.guild-floor-notices:empty{display:none}.guild-floor-notices .system-message{margin:0 0 6px;box-shadow:0 8px 22px #0000004d}.guild-registry-modal{z-index:180;-webkit-backdrop-filter:blur(7px)saturate(.58);backdrop-filter:blur(7px)saturate(.58);background:#05050580;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.guild-registry-modal__panel{color:#fff;width:min(560px,100%);max-height:calc(100dvh - 40px);-webkit-backdrop-filter:var(--glass-blur-overlay);backdrop-filter:var(--glass-blur-overlay);background:#191817d1;border:1px solid #f2d07c80;border-radius:10px;padding:24px;position:relative;overflow-y:auto;box-shadow:inset 0 1px #ffffff24,0 28px 78px #00000085}.guild-registry-modal__close{z-index:2;cursor:pointer;color:#fff;background:#ffffff12;border:1px solid #ffffff38;border-radius:7px;width:42px;height:42px;font-size:24px;position:absolute;top:12px;right:12px}.guild-registry-modal__close .system-ui-icon{width:28px;height:28px}.guild-registry-modal__close:hover,.guild-registry-modal__close:focus-visible{outline-offset:2px;border-color:#ffffff94;outline:2px solid #91e2dc6b}.guild-registry-modal .registry-editor{min-height:0;box-shadow:none;background:0 0;border:0;padding:0}.guild-registry-modal .hero-edit-form{grid-template-columns:1fr;gap:14px;display:grid}@keyframes guild-resident-wander{0%,to{left:var(--resident-x-0);top:var(--resident-y-0)}25%{left:var(--resident-x-1);top:var(--resident-y-1)}52%{left:var(--resident-x-2);top:var(--resident-y-2)}76%{left:var(--resident-x-3);top:var(--resident-y-3)}}@keyframes guild-resident-step{to{translate:0 -2px}}@keyframes guild-window-enter{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes guild-speech-pop{0%{opacity:0;transform:translate(-50%,7px)scale(.92)}to{opacity:1;transform:translate(-50%)scale(1)}}
@media (max-width:1080px){.guild-console__header{grid-template-columns:minmax(180px,1fr) minmax(0,auto);gap:14px;width:calc(100% - 28px);margin-top:14px;padding:12px 14px}.guild-topbar-item{--guild-topbar-icon-size:47px;--guild-topbar-icon-slot:50px;grid-template-columns:var(--guild-topbar-icon-slot);min-width:64px;padding:8px 10px}.guild-topbar-item>.guild-topbar-item__copy{display:none}.guild-resource-button{min-width:64px}}@media (max-width:720px){.dashboard-screen{overscroll-behavior:none;width:100%;height:100dvh;min-height:0;max-height:100dvh;position:fixed;inset:0;overflow:hidden}.dashboard-screen .game-screen__content,.guild-console,.guild-console__inner,.guild-console__viewport{overscroll-behavior:none;height:100%;min-height:0;max-height:100%;overflow:hidden}.guild-floor{touch-action:none}.guild-student-window,.guild-message-panel{touch-action:pan-y}.guild-console__inner:before{z-index:50;content:"";pointer-events:none;background:linear-gradient(#030407fa 0%,#030407e6 64%,#03040700 100%);height:250px;position:absolute;top:0;left:0;right:0}.dashboard-screen .world-backdrop{background-position:48%}.guild-console__header{width:100%;min-height:178px;padding:max(10px, env(safe-area-inset-top)) 16px 10px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;grid-template-columns:1fr;align-content:start;gap:8px;margin-top:0}.guild-console__title{gap:7px;min-width:0;display:grid}.guild-console__title-line{align-items:baseline;gap:10px;min-width:0;display:flex}.guild-console__title-line:after{content:"";background:linear-gradient(90deg,#dbb24cb8,#dbb24c00);flex:1;min-width:18px;height:1px}.guild-console__title-line>span{color:#ecbf53e6;font-size:var(--font-size-min);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.guild-console__title h1{flex:none;font-size:26px}.guild-referral-row{background:#36291061;border:1px solid #d6a93a94;border-radius:6px;justify-content:space-between;gap:10px;width:100%;min-height:39px;padding:5px 8px 5px 11px;display:flex;box-shadow:inset 0 1px #ffefbe14}.guild-referral-value{gap:8px;min-width:0}.guild-referral-value strong{color:#fff8de;font-size:var(--font-size-min)}.guild-referral-code{color:#ffe9a8;background:#7451148f;border:1px solid #e2b94d8a;border-radius:4px;flex:none;align-items:center;gap:5px;min-height:28px;padding:4px 8px;text-decoration:none;display:inline-flex}.guild-referral-code:hover,.guild-referral-code:focus-visible{background:#8e651bb8;text-decoration:none}.guild-console__tools{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;width:100%;padding:0;display:grid;overflow:visible}.guild-topbar-item,.guild-resource-button{--guild-topbar-icon-size:39px;--guild-topbar-icon-slot:41px;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--guild-topbar-icon-slot) auto;background:#181716bd;border-radius:5px;justify-items:center;gap:1px;width:100%;min-width:0;min-height:63px;padding:3px 2px 5px}.guild-console__tools>.parent-item-shop__trigger{gap:1px;min-height:63px;padding:3px 2px 5px;display:grid}.guild-console__tools>.parent-item-shop__trigger>.guild-topbar-item__mobile-label{text-align:center}.guild-topbar-stat{display:none}.guild-console__tools>*,.guild-message-center{min-width:0}.guild-message-center,.guild-message-button{width:100%}.guild-topbar-item>.guild-topbar-item__copy{display:none}.guild-topbar-item__mobile-label{color:#ffe08ee0;width:100%;max-width:100%;font-size:var(--font-size-min);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-weight:800;line-height:1.1;display:block;overflow:hidden}.guild-floor__hint{padding:7px 9px;top:10px;left:12px}.guild-floor__hint small{display:none}.guild-resident{width:123px}.guild-resident__character{min-height:188px}.guild-resident__character>img{height:138px}.guild-student-window{border-left:0;border-right:0;border-radius:0;max-width:none;height:100%;right:0;overflow:hidden;width:100%!important;max-height:100%!important;top:0!important;left:0!important}.guild-student-window.is-measuring{visibility:visible;pointer-events:auto}.guild-student-window:before{display:none}}@media (prefers-reduced-motion:reduce){.guild-resident,.guild-resident__character>img,.guild-resident__speech,.guild-student-window{animation:none}}
.login-screen{height:100dvh;min-height:100dvh;overflow:hidden}.login-screen .world-backdrop:after{opacity:.08}.login-screen .game-screen__content{grid-template-rows:clamp(150px,22dvh,290px) minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-content:stretch;gap:0;width:100%;max-width:none;height:100%;padding:0;display:grid;overflow:hidden}.login-scene-title{color:#fff;text-align:center;text-shadow:0 4px 18px #000000b8;align-content:start;justify-items:center;padding:clamp(34px,6vh,68px) 20px 0;display:grid}.login-scene-title h1{margin:7px 0 2px;font-family:Noto Serif TC,Songti TC,STSong,PMingLiU,serif;font-size:48px}.login-scene-title p:last-child{color:#ffffffbf;font-size:var(--font-size-min);margin:0}.login-console{-webkit-backdrop-filter:blur(16px)saturate(.52);backdrop-filter:blur(16px)saturate(.52);background:#26272957;border:1px solid #fff6;border-radius:8px;place-self:start center;width:min(820px,100% - 40px);height:auto;min-height:0;overflow:hidden;box-shadow:0 22px 64px #0000004d,inset 0 1px #ffffff24}.login-record-copy>span{color:#98e3ddc7;font-family:ui-monospace,monospace;font-size:var(--font-size-min);font-weight:900}.login-record-copy h2{color:#fffaf0;margin:5px 0 8px;font-size:26px}.login-record-copy p{color:#ffffff9e;font-size:var(--font-size-min);margin:0;line-height:1.65}.login-record-form .book-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.login-record-form .book-form label{color:#ffffffb8;font-family:inherit;font-size:var(--font-size-min)}.login-record-form .book-form input{min-height:var(--touch-target-min);color:#fff;background:#080a0d4d;border:1px solid #ffffff38;border-radius:6px;padding:10px 12px;box-shadow:inset 0 1px #ffffff0d}.login-record-form .book-form input:focus{outline-offset:2px;border-color:#98e3ddc7;outline:2px solid #98e3dd2e}.login-submit{min-height:var(--touch-target-min);cursor:pointer;color:#fff;background:#ffffff1a;border:1px solid #ffffff61;border-radius:7px;grid-column:1/-1;font-weight:900}.login-submit:hover,.login-submit:focus-visible{outline-offset:2px;background:#ffffff2b;border-color:#ffffffb8;outline:2px solid #98e3dd6b}.login-error{color:#ffd0ca;font-size:var(--font-size-min);margin:0 0 10px}.login-notice{color:#98e3ddeb;font-size:var(--font-size-min);margin:0 0 10px}.login-forgot-link{color:#ffffff94;font-size:var(--font-size-min);margin-top:8px;display:inline-block}.login-forgot-link:hover,.login-forgot-link:focus-visible{color:#fff}.login-back{color:#ffffff94;font-size:var(--font-size-min);justify-self:start;align-items:center;gap:6px;padding:6px 0 2px;display:inline-flex}.login-back .system-ui-icon{width:24px;height:24px}.login-back:hover,.login-back:focus-visible{color:#fff;outline:0}.lost-record-screen{width:100%;height:100dvh;min-height:100dvh}.lost-record-screen .world-backdrop:after{opacity:.18}.lost-record-screen .game-screen__content{place-items:center;width:100%;max-width:none;height:100%;min-height:100%;padding:30px;display:grid}.lost-record-panel{color:#fffaf0;text-align:center;-webkit-backdrop-filter:blur(16px)saturate(.46);backdrop-filter:blur(16px)saturate(.46);background:#22232557;border:1px solid #ffffff6b;border-radius:8px;justify-items:center;gap:10px;width:min(560px,100%);padding:34px 40px 38px;display:grid;box-shadow:inset 0 1px #ffffff24,0 26px 74px #00000061}.lost-record-code{color:#ffecb2eb;margin-top:4px;font-family:Georgia,Times New Roman,serif;font-size:66px;font-weight:400;line-height:1}.lost-record-panel h1{letter-spacing:0;margin:2px 0 0;font-family:Noto Serif TC,Songti TC,STSong,PMingLiU,serif;font-size:30px}.lost-record-panel>p{color:#ffffffad;max-width:38em;font-size:var(--font-size-min);margin:0 0 12px}.lost-record-command{color:#fff;background:#ffffff1a;border:1px solid #fff6;border-radius:7px;place-items:center;min-width:210px;min-height:48px;padding:10px 20px;font-weight:900;display:inline-grid;box-shadow:inset 0 1px #ffffff21}.lost-record-command:hover,.lost-record-command:focus-visible{outline-offset:3px;background:#ffffff2b;border-color:#ffffffc2;outline:2px solid #98e3dd6b}@media (max-width:720px){.login-screen .game-screen__content{grid-template-rows:clamp(160px,22dvh,210px) minmax(0,1fr)}.login-scene-title{padding-top:52px}.login-scene-title h1{text-wrap:balance;white-space:nowrap;font-size:clamp(28px,7vw,36px)}.login-console__inner{padding-left:14px;padding-right:14px}.login-record-panel{grid-template-columns:1fr;align-content:start;gap:14px;padding-top:16px}.login-record-copy h2{text-wrap:balance;white-space:nowrap;font-size:clamp(20px,5vw,22px)}.login-record-form .book-form{grid-template-columns:1fr}.login-submit{grid-column:1}}@media (max-width:420px){.login-role-tabs button{grid-template-columns:28px minmax(0,1fr);gap:1px 8px;min-height:58px}.login-role-tabs button>span{width:25px}.login-role-tabs button strong{font-size:var(--font-size-min)}}
.student-screen{height:100dvh;min-height:100dvh;overflow:hidden}.attribute-promotion{-webkit-backdrop-filter:blur(12px)saturate(.5);backdrop-filter:blur(12px)saturate(.5);background:#10121461;border:1px solid #ffffff29;border-radius:8px;gap:10px;margin:0 12px 12px;padding:14px 16px;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 32px #00000061,inset 0 1px #ffffff14}.attribute-promotion:has(.attribute-promotion__ritual){background:linear-gradient(135deg,#0a1220 0%,#0d1526 45%,#100e18 100%);border:1px solid #d8b25a59;border-radius:10px;gap:0;padding:0;box-shadow:0 20px 60px #0000008c,inset 0 0 90px #5aa0dc0f}.attribute-promotion:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#d8b25ad9,#0000);height:1px;display:none;position:absolute;top:0;left:0;right:0}.attribute-promotion:after{content:"";pointer-events:none;background:radial-gradient(70% 130% at 88%,#d8b25a29 0%,#0000 60%),radial-gradient(60% 120% at 6% 40%,#4696dc24 0%,#0000 65%);display:none;position:absolute;inset:0}.attribute-promotion:has(.attribute-promotion__ritual):before{display:block}.attribute-promotion:has(.attribute-promotion__ritual):after{display:block}.attribute-promotion__corner{z-index:1;pointer-events:none;width:16px;height:16px;position:absolute}.attribute-promotion__corner--tl{border-top:2px solid #d8b25acc;border-left:2px solid #d8b25acc;top:8px;left:8px}.attribute-promotion__corner--br{border-bottom:2px solid #d8b25acc;border-right:2px solid #d8b25acc;bottom:8px;right:8px}.attribute-promotion__heading{flex-wrap:wrap;align-items:center;gap:7px 10px;display:flex}.attribute-promotion__heading>span{color:#92d7d1b8;width:100%;font-family:ui-monospace,monospace;font-size:var(--font-size-min);font-weight:900}.attribute-promotion__heading>strong{color:#ffffffe6;font-size:var(--font-size-min)}.attribute-promotion__heading>b{color:#f2d88e;font-size:var(--font-size-min);background:#92681c33;border:1px solid #f2d07c80;border-radius:999px;padding:3px 8px}.attribute-promotion__message{color:#ffffffad;font-size:var(--font-size-min);margin:0;line-height:1.6}.attribute-promotion__message[data-status=capped]{color:#f2d88edb}.attribute-promotion__message[data-status=ready]{color:#ffe9a3eb;font-weight:900}.attribute-promotion:has(.attribute-promotion__ritual){border-color:#f2d07c9e;box-shadow:0 20px 60px #0000008c,inset 0 0 90px #5aa0dc0f,0 0 24px #ffbd432e}.attribute-promotion:has(.attribute-promotion__ritual) .attribute-promotion__heading{display:none}.attribute-promotion__ritual{z-index:1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:34px;padding:26px 30px;display:grid;position:relative}.attribute-promotion__grades{align-items:center;gap:18px;display:flex}.attribute-promotion__grade{flex-direction:column;align-items:center;gap:5px;display:flex}.attribute-promotion__grade-label{letter-spacing:3px;color:#5f6a80;font-family:Cinzel,Noto Serif TC,serif;font-size:9px}.attribute-promotion__grade--next .attribute-promotion__grade-label{color:#d8b25a}.attribute-promotion__grade-plate{background:linear-gradient(#1e2a40e6,#0c121ee6);border:1px solid #96aac859;border-radius:4px;justify-content:center;align-items:center;width:74px;height:74px;display:flex;transform:rotate(45deg)}.attribute-promotion__grade-plate strong{color:#aab6cc;letter-spacing:1px;font-family:Noto Serif TC,serif;font-size:26px;font-weight:900;transform:rotate(-45deg)}.attribute-promotion__grade--next .attribute-promotion__grade-plate{background:linear-gradient(#4a3814f2,#1a140af2);border-color:#d8b25ad9;box-shadow:0 0 24px #d8b25a59,inset 0 0 20px #d8b25a2e}.attribute-promotion__grade--next .attribute-promotion__grade-plate strong{color:#f7ecd0;text-shadow:0 0 14px #d8b25ab3}.attribute-promotion__ascend{flex-direction:column;align-items:center;gap:6px;width:56px;display:flex}.attribute-promotion__ascend span{animation:1.6s ease-in-out infinite om-pulse;display:inline-block}.attribute-promotion__ascend span:first-child{color:#4a7fa8;font-size:11px}.attribute-promotion__ascend span:nth-child(2){color:#8fa8c8;font-size:13px;animation-delay:.2s}.attribute-promotion__ascend span:nth-child(3){color:#d8b25a;font-size:16px;animation-delay:.4s}.attribute-promotion__ascend em{letter-spacing:2px;color:#5f6a80;font-family:Cinzel,Noto Serif TC,serif;font-size:8px;font-style:normal}.attribute-promotion__copy{border-left:1px solid #ffffff14;flex-direction:column;gap:9px;min-width:0;padding-left:30px;display:flex}.attribute-promotion__kicker{align-items:center;gap:12px;display:flex}.attribute-promotion__kicker>span{letter-spacing:5px;color:#d8b25a;white-space:nowrap;font-family:Cinzel,Noto Serif TC,serif;font-size:10px;font-weight:700}.attribute-promotion__kicker>i{background:linear-gradient(90deg,#d8b25a73,#0000);flex:1;height:1px}.attribute-promotion__kicker>b{color:#0e1420;letter-spacing:2px;white-space:nowrap;background:linear-gradient(#f2dda0,#d8b25a);border-radius:99px;padding:3px 10px;font-family:Noto Serif TC,serif;font-size:10px;font-weight:700}.attribute-promotion__copy h4{color:#f2f5fa;letter-spacing:2px;text-shadow:0 2px 10px #000c;margin:0;font-family:Noto Serif TC,serif;font-size:27px;font-weight:900;line-height:1.2}.attribute-promotion__copy p{color:#93a0b8;max-width:420px;margin:0;font-size:13px;line-height:1.75}.attribute-promotion__copy p strong{color:#e8d5a8;font-weight:700}.attribute-promotion__act{flex-direction:column;align-items:stretch;gap:8px;display:flex}.attribute-promotion__promote{cursor:pointer;background:linear-gradient(#e8c264 0%,#c8952e 55%,#8a6018 100%);border:1px solid #f0d080;border-radius:6px;justify-content:center;align-items:center;min-height:56px;padding:16px 30px;transition:box-shadow .16s,filter .16s,transform .16s;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 22px #d8b25a66,inset 0 1px #ffffff80}.attribute-promotion__shine{pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff8c,#0000);width:40px;animation:2.6s ease-in-out infinite om-sweep;position:absolute;top:0;bottom:0}.attribute-promotion__promote-text{color:#241704;letter-spacing:6px;text-shadow:0 1px #ffffff59;font-family:Noto Serif TC,serif;font-size:19px;font-weight:900;position:relative}.attribute-promotion__promote:hover,.attribute-promotion__promote:focus-visible{outline-offset:2px;filter:brightness(1.08);outline:2px solid #ffd68273;box-shadow:0 8px 30px #d8b25aa6,inset 0 1px #fff9}.attribute-promotion__promote:active{transform:translateY(2px);box-shadow:0 2px 10px #d8b25a66}.attribute-promotion__act em{letter-spacing:3px;color:#6d7a92;text-align:center;font-family:Cinzel,Noto Serif TC,serif;font-size:9px;font-style:normal}@keyframes om-pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes om-sweep{0%{transform:translate(-120%)}to{transform:translate(320%)}}@media (max-width:640px){.attribute-promotion__ritual{grid-template-columns:1fr;gap:16px;padding:20px 18px 18px}.attribute-promotion__grades{justify-content:center;gap:14px}.attribute-promotion__grade-plate{width:60px;height:60px}.attribute-promotion__grade-plate strong{font-size:21px}.attribute-promotion__ascend{flex-direction:row;gap:4px;width:auto;padding-top:14px}.attribute-promotion__ascend em{display:none}.attribute-promotion__copy{text-align:center;border-left:0;align-items:center;padding-left:0}.attribute-promotion__kicker>i{display:none}.attribute-promotion__copy h4{font-size:22px}.attribute-promotion__copy p{font-size:12px}.attribute-promotion__promote{width:100%;padding:15px 0}.attribute-promotion__promote-text{font-size:18px}}.attribute-promotion__progress{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px;display:grid}.attribute-promotion__progress-count{color:#fff0b7;font-family:ui-monospace,monospace;font-size:var(--font-size-min);white-space:nowrap}.promotion-completion__grade{color:#ffe7a2;background:#7b521638;border:1px solid #ffe29447;border-radius:8px;padding:9px}.glass-dialog.promotion-completion{text-align:center;max-height:none;overflow:hidden;box-shadow:0 0 70px #ffb42d3d,0 28px 80px #000000a6}.promotion-completion__beam{pointer-events:none;filter:blur(3px);background:linear-gradient(90deg,#0000,#ffe08933,#0000);animation:1.5s ease-out both ascension-beam;position:absolute;inset:-20% 25%}.promotion-completion__particles{pointer-events:none;position:absolute;inset:0}.promotion-completion__particles i{left:calc(8% + (var(--particle-index,0) * 7%));background:#ffe7a2;border-radius:50%;width:4px;height:4px;animation:1.8s ease-out infinite ascension-particle;position:absolute;top:58%;box-shadow:0 0 9px #ffb638}.promotion-completion__particles i:first-child{animation-delay:-.2s;left:9%}.promotion-completion__particles i:nth-child(2){animation-delay:-1.1s;left:16%}.promotion-completion__particles i:nth-child(3){animation-delay:-.7s;left:24%}.promotion-completion__particles i:nth-child(4){animation-delay:-1.5s;left:32%}.promotion-completion__particles i:nth-child(5){animation-delay:-.4s;left:40%}.promotion-completion__particles i:nth-child(6){animation-delay:-1.3s;left:48%}.promotion-completion__particles i:nth-child(7){animation-delay:-.8s;left:56%}.promotion-completion__particles i:nth-child(8){animation-delay:-1.7s;left:64%}.promotion-completion__particles i:nth-child(9){animation-delay:-.5s;left:72%}.promotion-completion__particles i:nth-child(10){animation-delay:-1.2s;left:80%}.promotion-completion__particles i:nth-child(11){animation-delay:-.9s;left:87%}.promotion-completion__particles i:nth-child(12){animation-delay:-1.6s;left:93%}.promotion-completion__grade{z-index:1;font-size:var(--font-size-min);display:block;position:relative}.promotion-completion__close{z-index:1;min-height:var(--touch-target-min);cursor:pointer;margin-top:4px;font-weight:900;position:relative}@keyframes ascension-beam{0%{opacity:0;transform:translateY(30%)scaleY(.2)}to{opacity:1;transform:none}}@keyframes ascension-particle{0%{opacity:0;transform:translateY(20px)scale(.4)}35%{opacity:1}to{opacity:0;transform:translateY(-160px)scale(1.25)}}@keyframes ascension-warm-breathe{0%,to{background-color:#7c53126b;border-color:#f2d07c94;box-shadow:0 0 #ffb54000,inset 0 1px #fff5cf14}50%{background-color:#a36514ad;border-color:#ffe28efa;box-shadow:0 0 9px #ffbd43b8,0 0 24px #ff882252,inset 0 1px #fffae057}}@media (max-width:640px){.attribute-promotion__progress{grid-template-columns:1fr}}.student-screen .adventure-loadout>.student-ability-board>.status-board__header .attribute-promotion{flex:320px;min-width:260px;margin:0}
.job-change-screen{min-height:100dvh;overflow-y:auto}.job-change-screen .game-screen__content{place-items:center;min-height:100dvh;padding:clamp(18px,3vw,38px);display:grid}.job-change-console,.job-change-battle-gate{z-index:2;width:min(1180px,100%);box-shadow:var(--console-glass-shadow), 0 0 72px #d9a4411f;-webkit-backdrop-filter:var(--glass-blur-overlay);backdrop-filter:var(--glass-blur-overlay);background:linear-gradient(145deg,#ffffff12,#0000 35%),#11171cb8;border:1px solid #ffedb757;border-top-color:#fff8dd9e;border-radius:10px;padding:clamp(18px,3vw,34px);position:relative}.job-change-console:before,.job-change-battle-gate:before{content:"";z-index:-1;pointer-events:none;border-style:solid;border-width:24px;border-image-source:url(/game-assets/ui/leather-panels/leather-panel.webp);border-image-slice:56 fill;border-image-width:24px;border-image-repeat:stretch;position:absolute;inset:0}.job-change-hero{border-bottom:1px solid #ffffff21;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding-bottom:22px;display:grid}.job-change-hero__copy>span,.job-change-card header>span,.job-change-card__skill>span,.job-change-battle-gate>span{color:#e2bf6c;font-family:ui-monospace,monospace;font-size:var(--font-size-compact);letter-spacing:.1em;font-weight:900}.job-change-hero h1{color:#fff4cf;margin:5px 0 8px;font-family:Noto Serif TC,Songti TC,STSong,PMingLiU,serif;font-size:clamp(28px,4.5vw,48px)}.job-change-hero p,.job-change-guidance p,.job-change-card p,.job-change-card dd,.job-change-second-lock p,.job-change-battle-gate p{color:#ffffffb3;font-size:var(--font-size-min);margin:0;line-height:1.65}.job-change-mastery-seal{background:#724a1242;border:1px solid #ffdd7c8c;border-radius:8px;place-items:center;min-width:160px;padding:14px 20px;display:grid;box-shadow:inset 0 1px #fff6d329,0 0 30px #ffb3352e}.job-change-mastery-seal span,.job-change-mastery-seal b{color:#e8cf8d;font-size:var(--font-size-compact)}.job-change-mastery-seal strong{color:#fff2b6;font-family:ui-monospace,monospace;font-size:34px;line-height:1.15}.job-change-mastery-seal small{font-size:18px}.job-change-guidance{background:#3d7e7c17;border-left:3px solid #66e0dd9e;grid-template-columns:auto minmax(0,1fr);gap:10px 18px;margin:18px 0;padding:10px 14px;display:grid}.job-change-guidance span{color:#a9eeea;font-weight:900}.job-change-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.job-change-card{--job-accent:220, 178, 88;border:1px solid rgba(var(--job-accent), .38);background:linear-gradient(180deg, rgba(var(--job-accent), .12), transparent 34%), #0f1418b8;border-radius:9px;flex-direction:column;min-width:0;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff14}.job-change-card[data-accent=cyan]{--job-accent:102, 224, 221}.job-change-card[data-accent=rose]{--job-accent:218, 112, 110}.job-change-card:hover,.job-change-card:focus-within{border-color:rgba(var(--job-accent), .82);box-shadow:0 0 28px rgba(var(--job-accent), .16), inset 0 1px 0 #ffffff21;transform:translateY(-2px)}.job-change-card__portrait{border-bottom:1px solid rgba(var(--job-accent), .25);place-items:center;height:176px;display:grid;position:relative;overflow:hidden}.job-change-card__portrait>span{aspect-ratio:1;border:1px solid rgba(var(--job-accent), .38);width:132px;box-shadow:0 0 36px rgba(var(--job-accent), .18), inset 0 0 28px rgba(var(--job-accent), .1);border-radius:50%;position:absolute}.job-change-card__portrait img{z-index:1;object-fit:contain;width:160px;height:160px;image-rendering:pixelated;filter:drop-shadow(0 10px 12px #00000075);position:relative}.job-change-card>header,.job-change-card>dl,.job-change-card__skill{margin:0 16px}.job-change-card>header{padding-top:15px}.job-change-card h2{color:#fff4d1;margin:3px 0 5px;font-family:Noto Serif TC,Songti TC,STSong,PMingLiU,serif}.job-change-card dl{gap:8px;padding:12px 0;display:grid}.job-change-card dl>div{grid-template-columns:72px minmax(0,1fr);gap:8px;display:grid}.job-change-card dt{color:rgba(var(--job-accent), .92);font-size:var(--font-size-compact);font-weight:900}.job-change-card__skill{border:1px solid rgba(var(--job-accent), .24);background:rgba(var(--job-accent), .07);border-radius:7px;gap:4px;margin-top:auto;padding:12px;display:grid}.job-change-card__skill strong{color:rgb(var(--job-accent));font-size:18px}.job-change-card__skill small{color:#ffffff85;font-size:var(--font-size-compact);line-height:1.5}.job-change-card__choose{border:1px solid rgba(var(--job-accent), .6);color:#fff7db;background:linear-gradient(180deg, rgba(var(--job-accent), .32), rgba(var(--job-accent), .14));cursor:pointer;border-radius:6px;min-height:48px;margin:14px 16px 16px}.job-change-card__choose:hover,.job-change-card__choose:focus-visible{outline:2px solid rgba(var(--job-accent), .35);outline-offset:2px;filter:brightness(1.16)}.job-change-second-lock{background:#0000002e;border:1px solid #ffffff1f;border-radius:8px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:12px;margin-top:16px;padding:11px 14px;display:grid}.job-change-second-lock>span{color:#ffffff5c;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.job-change-second-lock div{display:grid}.job-change-second-lock small{color:#d9b765}.job-change-error{color:#ffd1ca;background:#6f232047;border:1px solid #d7524e80;border-radius:7px;margin:14px 0 0;padding:9px 12px}.job-change-confirmation{width:min(540px,100%)}.job-change-confirmation__portrait{z-index:1;object-fit:contain;width:150px;height:150px;image-rendering:pixelated;filter:drop-shadow(0 0 24px #ffc75b42);margin:-4px auto -8px;position:relative}.job-change-confirmation__summary{z-index:1;color:#ffffffad;text-align:center;background:#754d142b;border:1px solid #f2d07c47;border-radius:7px;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:10px;display:grid;position:relative}.job-change-confirmation__summary strong{color:#ffe29b}.job-change-battle-gate{text-align:center;width:min(620px,100%)}.job-change-battle-gate h1{color:#fff2ca;margin:7px 0}.job-change-battle-gate a{color:#fff1ba;background:#7850167a;border:1px solid #f2d07c94;border-radius:6px;place-items:center;min-height:48px;margin-top:14px;padding:8px 18px;font-weight:900;display:inline-grid}.student-creation-form__novice-note{background:#42898514;border-left:3px solid #66e0dd8c;gap:3px;padding:8px 11px;display:grid}.student-creation-form__novice-note span,.student-creation-form__novice-note small{color:#fff9}.student-creation-form__novice-note strong{color:#d9f5f0}.student-creation-form__gender-choice{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;display:grid}.student-creation-form__gender-choice legend{color:#ffffffb8;grid-column:1/-1;margin-bottom:7px;font-weight:900}.student-creation-form__gender-choice label{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff29;border-radius:8px;place-items:center;min-width:0;padding:8px;display:grid;position:relative}.student-creation-form__gender-choice input{opacity:0;position:absolute}.student-creation-form__gender-choice label:has(input:checked){background:#8b5d1933;border-color:#f2d07cad;box-shadow:0 0 22px #e6ad411f}.student-creation-form__gender-choice img{object-fit:contain;width:112px;height:112px;image-rendering:pixelated}@media (max-width:820px){.job-change-grid{grid-template-columns:1fr}.job-change-card{grid-template-columns:150px minmax(0,1fr);display:grid}.job-change-card__portrait{border-right:1px solid rgba(var(--job-accent), .25);border-bottom:0;grid-row:1/span 4;height:100%}.job-change-card>header,.job-change-card>dl,.job-change-card__skill{margin-left:14px;margin-right:14px}.job-change-card__choose{grid-column:2}}@media (max-width:620px){.job-change-screen .game-screen__content{padding:10px;display:block}.job-change-console{padding:15px}.job-change-hero{grid-template-columns:1fr}.job-change-mastery-seal{grid-template-columns:auto auto auto;gap:10px}.job-change-guidance{grid-template-columns:1fr}.job-change-card{display:flex}.job-change-card__portrait{border-right:0;border-bottom:1px solid rgba(var(--job-accent), .25);height:154px}.job-change-card__portrait img{width:145px;height:145px}.job-change-second-lock{grid-template-columns:auto 1fr}.job-change-second-lock p{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.job-change-card{transition:none}}
.student-screen .world-backdrop:after{opacity:.06}.student-screen .world-map-glow{background:0 0}.student-screen .game-screen__content{grid-template-rows:clamp(16px,3dvh,32px) minmax(0,1fr);align-content:stretch;gap:0;width:100%;max-width:none;height:100%;padding:0;overflow:hidden}.camp-scene{pointer-events:none;min-height:0}.camp-console{min-height:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;position:relative;overflow:hidden}.camp-spark-field{z-index:0;pointer-events:none;opacity:.94;mix-blend-mode:screen;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.camp-spark-field__layer--far{opacity:.56}.camp-spark-field__layer--middle{opacity:.8}.camp-spark-field__layer--near{opacity:1}.camp-spark-field__spark{pointer-events:none}.camp-console__inner{z-index:1;border:1px solid var(--console-glass-border);border-top-color:var(--console-glass-border-top);background:var(--console-glass-background);width:min(1280px,100% - 32px);height:calc(100% - clamp(48px,9dvh,90px));min-height:0;box-shadow:var(--console-glass-shadow);-webkit-backdrop-filter:var(--console-glass-filter);backdrop-filter:var(--console-glass-filter);border-radius:0 0 8px 8px;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);margin:0 auto;padding:0 28px;display:grid;position:relative;overflow:hidden}.camp-console__inner:before{content:"";z-index:-1;pointer-events:none;border-style:solid;border-width:24px;border-image-source:url(/game-assets/ui/leather-panels/leather-panel.webp);border-image-slice:56 fill;border-image-width:24px;border-image-repeat:stretch;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.attribute-promotion__ready>button,.ability-radar__ascension,.ability-radar__ascension,.promotion-confirmation__sigil,.promotion-completion__beam,.promotion-completion__particles i{animation:none}.camp-spark-field{display:none}}
