:root{--navy:#071c2c;--teal:#166c6a;--gold:#dfbd76;--ink:#19343a;--muted:#718182;--paper:#f8f7f2;--line:#dfE5df}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei",sans-serif;color:var(--ink);background:var(--navy);display:flex;height:100dvh;min-height:600px}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{transition:background .18s,transform .18s}button:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible{outline:3px solid #bf9343;outline-offset:4px}button:disabled{cursor:wait;opacity:.5}.ocean-panel{width:36%;max-width:520px;min-width:340px;color:#e7eee9;padding:36px 40px 24px;position:relative;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 38%,#15464d55,transparent 60%),linear-gradient(160deg,#0a273b,#071c2c 70%)}.ocean-panel:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.11;background-image:radial-gradient(#87c0b9 1px,transparent 1px);background-size:37px 37px}.brand{display:flex;align-items:center;gap:12px;color:#ede5d2;text-decoration:none;font-size:12px;letter-spacing:2px;font-weight:700;z-index:1}.brand-mark{font-size:29px;color:var(--gold)}.brand small{display:block;font-size:7px;letter-spacing:1.5px;margin-top:8px;color:#8fa8af}.guardian{position:relative;max-height:340px;min-height:190px;flex:1;display:grid;place-items:center;margin:12px -15px 5px}.mascot{width:100%;height:100%;max-height:340px;object-fit:contain;position:relative;z-index:1;mix-blend-mode:lighten}.orbit{position:absolute;border:1px solid #5f989e22;border-radius:50%;width:75%;aspect-ratio:1}.orbit-two{width:95%;border-style:dashed}.coordinate{position:absolute;bottom:1px;font-size:8px;letter-spacing:2px;color:#709597;z-index:2}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#ac955f;font-weight:700}.intro h1{font-size:clamp(32px,3.1vw,48px);line-height:1.35;font-weight:650;letter-spacing:4px;margin:15px 0}.intro>p{font-size:13px;line-height:1.9;color:#9fb4b8}.game-dialog{position:relative;border:1px solid #b9c3b185;outline:1px solid #b9c3b12b;outline-offset:4px;background:#061823b0;padding:15px 20px;margin:22px 4px 26px;border-radius:4px}.dialog-name{position:absolute;top:-10px;left:13px;background:#091e2c;color:var(--gold);font-size:11px;padding:0 9px}.game-dialog p{font-size:12px;line-height:1.9;margin:0;color:#d7e0db}.dialog-arrow{position:absolute;right:15px;bottom:13px;color:var(--gold);font-size:8px}.ocean-panel footer{font-size:8px;letter-spacing:1px;color:#7f999e;display:flex;justify-content:space-between}.workspace{flex:1;min-width:0;background:var(--paper);display:flex;flex-direction:column;position:relative}.topbar{padding:24px 36px 20px;display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line)}.title-block strong{font-size:22px;letter-spacing:3px}.title-block>span{display:block;margin-top:5px;color:var(--muted);font-size:10px;letter-spacing:1px}.title-block b{font-weight:400;color:#bec7c3;margin:0 5px}.top-actions{margin-left:auto;display:flex;gap:14px;align-items:center}.demo-pill{font-size:10px;border:1px solid #d9d6c4;padding:5px 9px;border-radius:5px;color:#8b7953}.icon-button{border:1px solid #d9ded8;background:#e9ece4;color:#677369;border-radius:50%;height:32px;width:32px;font-size:12px}.sessionbar{display:flex;justify-content:space-between;align-items:center;padding:12px 36px;font-size:10px;color:#75847d}.sessionbar i{display:inline-block;width:5px;height:5px;background:#669588;border-radius:50%;margin-right:7px}.sessionbar button{border:0;background:none;color:var(--teal);font-size:11px;padding:7px}.conversation{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 36px 24px;scroll-behavior:smooth}.welcome{max-width:720px;margin:clamp(16px,5vh,65px) auto 0}.welcome-label{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:3px;color:#9c8a5f}.welcome-label span{width:20px;height:1px;background:#c6ba9b}.welcome h2{font-size:clamp(25px,2.7vw,38px);font-weight:600;letter-spacing:1px;margin:18px 0}.welcome>p{font-size:13px;line-height:1.9;color:#75827f;margin-bottom:28px}.suggestions{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.suggestions button{position:relative;text-align:left;background:#fffefa;border:1px solid #e0e4db;border-radius:9px;padding:18px 14px;color:var(--ink);min-height:130px}.suggestions button:hover{border-color:#6a9990;transform:translateY(-2px);background:#f0f5ed}.tile-icon{display:block;color:var(--teal);font-size:24px;margin-bottom:13px}.suggestions strong{display:block;font-size:12px;margin-bottom:8px;font-weight:600}.suggestions small{font-size:10px;color:#859088;line-height:1.6}.suggestions b{position:absolute;top:16px;right:13px;color:#9aa79c;font-size:12px;font-weight:400}.trust-note{margin-top:30px;padding:18px 0;display:flex;gap:12px;border-top:1px solid var(--line);color:#708279}.trust-note>span{color:#9b885c;font-size:23px}.trust-note strong{font-size:11px;color:#5a7068;font-weight:500}.trust-note p{font-size:10px;line-height:1.9;margin:6px 0}.composer-area{padding:10px 36px 15px;background:var(--paper)}.composer{border:1px solid #cbd6cc;background:#fffefa;border-radius:12px;box-shadow:0 5px 25px #19343a06;padding:15px 16px 10px}.composer:focus-within{border-color:var(--teal);box-shadow:0 0 0 2px #166c6a0a}textarea{width:100%;resize:none;border:0;background:transparent;font-size:14px;line-height:1.6;color:var(--ink);outline:none;max-height:160px}textarea::placeholder{color:#98a29b}.composer-bottom{display:flex;align-items:center;gap:12px}.attach-button{border:0;background:none;padding:6px 0;color:#76877d;font-size:10px}.attach-button span{font-size:20px;vertical-align:-2px;margin-right:4px}.keyboard-hint{margin-left:auto;font-size:8px;color:#9aa79b}.send-button{width:36px;height:36px;border-radius:8px;background:var(--teal);color:white;border:0;font-size:23px;margin-left:auto}.composer-foot{display:flex;justify-content:space-between;gap:10px;color:#929c92;font-size:8px;margin-top:11px}.preview-notice{font-size:9px;text-align:center;color:#9c927a;margin:10px 0 0}.mobile-anchor{display:none;color:var(--teal);font-size:29px}.attachment-list{display:flex;flex-wrap:wrap;gap:8px}.attachment{display:flex;align-items:center;gap:7px;font-size:11px;padding:6px;background:#e6ece5;border-radius:7px;margin-bottom:9px;max-width:100%}.attachment img{width:35px;height:35px;object-fit:cover;border-radius:4px}.attachment span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment button{border:0;background:none;font-size:19px;color:#6b7970}.message{margin:20px auto;max-width:720px;font-size:14px;line-height:1.9;overflow-wrap:anywhere}.user-message{background:#e8eee6;padding:14px 18px;border-radius:12px 12px 3px 12px;margin-left:12%;white-space:pre-wrap}.assistant-label{display:flex;align-items:center;gap:9px;font-size:11px;color:#688278;margin-bottom:12px}.assistant-label img{width:34px;height:34px;border-radius:50%;background:var(--navy)}.answer-body{padding-left:43px}.answer-body h3{font-size:16px;margin:0 0 12px}.answer-body p{margin:0 0 12px}.answer-status{color:#8f7c51;font-size:11px}.source-button{border:1px solid #d9ddd2;background:#f1f1e9;padding:9px 13px;border-radius:6px;color:#61756a;font-size:11px}.feedback{border-top:1px solid var(--line);margin-top:20px;padding-top:12px;font-size:11px;color:#7d887e}.feedback-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.feedback button{border:1px solid #d6dfd3;border-radius:5px;background:none;padding:7px 9px;color:#567367;font-size:11px;min-height:32px}.feedback button.selected{background:#dce9df;border-color:#618875}.feedback textarea{border:1px solid #d6dfd3;border-radius:7px;font-size:12px;margin:10px 0 5px;padding:10px;background:#fffefa}.feedback small{display:block;font-size:10px;margin-bottom:8px}.feedback .submit-feedback{background:var(--teal);color:white}.feedback.saved{color:var(--teal)}dialog{border:1px solid #d2dacd;border-radius:16px;padding:38px;max-width:440px;width:calc(100% - 32px);background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #00101a66}dialog::backdrop{background:#001521ac;backdrop-filter:blur(5px)}dialog h2{font-size:23px;line-height:1.5}dialog p{font-size:13px;line-height:1.9;color:#73817b}dialog label{display:block;margin:25px 0 9px;font-size:12px}dialog input{width:100%;padding:13px;border:1px solid #d1dacd;border-radius:7px;background:#fffefa}dialog small{display:block;color:#8b968c;font-size:10px;line-height:1.9;margin-top:20px}.modal-close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:27px;color:#8e9a8e}.login-symbol{font-size:38px;color:var(--teal)}.primary-button{background:var(--teal);color:white;border:0;border-radius:7px;padding:13px 18px}.primary-button span{float:right}#demo-login{width:100%;margin-top:15px}.source-placeholder{background:#e9eee5;border-left:3px solid var(--teal);padding:16px;font-size:13px;line-height:1.9}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.modal-actions>button:not(.primary-button){border:0;background:none;color:#657969}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#133b3c;color:white;border-radius:8px;padding:12px 20px;font-size:12px;z-index:100;display:none;max-width:90%;box-shadow:0 8px 30px #0002}.toast.show{display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.workspace{padding-left:4vw;padding-right:4vw}.ocean-panel{max-width:580px}.welcome{margin-top:8vh}}
@media(max-width:1100px){.ocean-panel{min-width:270px;width:32%;padding:28px 25px 22px}.brand{font-size:9px;letter-spacing:1px}.brand small{font-size:6px}.topbar{padding:22px 25px}.sessionbar{padding:10px 25px}.conversation{padding:18px 25px}.composer-area{padding:10px 25px 16px}.suggestions{gap:8px}.suggestions button{padding:14px 10px}.suggestions small{font-size:9px}.keyboard-hint{display:none}.intro h1{font-size:34px}}
@media(max-width:850px){.ocean-panel{display:none}.mobile-anchor{display:block}.workspace{max-width:none}.welcome{max-width:650px;margin-top:6vh}.conversation{padding:20px 40px}.composer-area{padding:10px 40px 20px}.topbar{padding:20px 40px}.sessionbar{padding:10px 40px}.suggestions button{padding:20px;min-height:145px}.suggestions strong{font-size:14px}.suggestions small{font-size:11px}.welcome h2{font-size:35px}.welcome>p{font-size:14px}.trust-note p{font-size:12px}.trust-note strong{font-size:13px}}
@media(max-width:520px){body{min-height:0}.topbar{padding:15px 18px 13px}.title-block strong{font-size:20px}.title-block>span{font-size:8px;letter-spacing:.5px}.top-actions{gap:8px}.demo-pill{font-size:9px;padding:4px 6px}.mobile-anchor{font-size:27px}.sessionbar{padding:8px 18px;font-size:9px}.session-detail{display:none}.conversation{padding:14px 22px 18px}.welcome{margin-top:24px}.welcome h2{font-size:27px;margin:17px 0 12px}.welcome-label{font-size:9px;letter-spacing:2px}.welcome>p{font-size:12px;margin-bottom:23px}.suggestions{grid-template-columns:1fr;gap:9px}.suggestions button{min-height:72px;padding:14px 34px 13px 58px}.tile-icon{position:absolute;left:20px;top:18px;font-size:24px}.suggestions strong{font-size:12px;margin-bottom:5px}.suggestions small{font-size:10px}.suggestions b{right:15px;top:28px}.trust-note{margin-top:20px;padding:14px 0 0}.trust-note strong{font-size:11px}.trust-note p{font-size:10px}.composer-area{padding:8px 14px max(12px,env(safe-area-inset-bottom))}.composer{padding:12px 12px 8px}textarea{font-size:16px}.composer-foot{font-size:8px;justify-content:center}.composer-foot>span:last-child{display:none}.preview-notice{font-size:8px;line-height:1.5;margin-top:7px}.answer-body{padding-left:0}.message{font-size:13px}.user-message{margin-left:6%}.title-block b{margin:0}.icon-button{height:28px;width:28px}.send-button{height:34px;width:34px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.guardian .mascot{position:absolute;inset:0;width:100%;height:100%}.mobile-mascot{display:none}.welcome-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}@media(max-width:850px){.mobile-mascot{display:block;width:72px;height:72px;object-fit:cover;border-radius:50%;border:2px solid #cfbd90}.welcome-heading h2{font-size:clamp(23px,4.2vw,35px)}}@media(max-width:380px){.mobile-mascot{width:54px;height:54px}.welcome-heading h2{font-size:22px}}
/* RPG theme, revision 2 */
:root{--paper:#071c2c;--ink:#f4ead5;--muted:#a4b9bf;--line:#446373;--teal:#b99851}
[hidden]{display:none!important}body{background:#061725;color:var(--ink)}.logged-out{height:auto;min-height:100dvh;display:block}.logged-out>.workspace,.logged-out>.ocean-panel{display:none}.entry{min-height:100dvh;padding:25px 6vw 20px;background:radial-gradient(ellipse at 27% 40%,#0c465d 0,transparent 52%),repeating-linear-gradient(0deg,#ffffff02 0,#ffffff02 1px,transparent 1px,transparent 4px),#061725;position:relative}.entry-header{display:flex;justify-content:space-between;gap:20px;color:#e5d29d;letter-spacing:2px;font-size:12px;max-width:1180px;margin:auto;padding-bottom:20px;border-bottom:1px solid #6d8c8c55}.entry-header>span:last-child{font-size:10px;color:#afc5c7;letter-spacing:1px}.entry-header b{border:1px solid #a7915e;padding:4px 6px;margin-left:10px;color:#e5d29d;font-weight:400}.entry-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:7vw;max-width:1050px;margin:25px auto}.entry-hero{text-align:center;min-width:0}.entry-kicker{font-size:12px;letter-spacing:3px;color:#b0cfcf;margin:10px 0 15px}.entry-hero h1{font-size:clamp(48px,5.8vw,78px);color:#fff0b4;letter-spacing:9px;margin:0;font-weight:900;text-shadow:3px 3px 0 #725e30,5px 5px 0 #001017,-2px -2px 0 #806d3b;line-height:1.3}.entry-english{letter-spacing:5px;font-size:12px;color:#d1b576;margin:13px 0 0}.entry-art{height:330px;position:relative;margin:0 -20px}.entry-art img{height:100%;width:100%;object-fit:contain;mix-blend-mode:lighten}.entry-speech{position:relative;text-align:left;margin:0 8px;padding:19px 25px;background:#020e19;border:3px solid #e0e9de;border-radius:5px;box-shadow:0 0 0 3px #152c3b,0 0 0 5px #7e9a9b}.entry-speech>span{position:absolute;top:-12px;background:#041422;padding:0 10px;left:14px;font-size:12px;color:#f6d58b}.entry-speech p{font-size:14px;line-height:1.9;margin:0;letter-spacing:1px}.entry-speech>b{position:absolute;right:17px;bottom:14px;color:#f2e0a5;font-size:11px}.ribbon{position:relative;margin:0 24px -15px;padding:12px 25px;text-align:center;background:linear-gradient(#24788e,#145267);border:3px solid #e5c47e;box-shadow:0 0 0 3px #0a1620,0 0 0 4px #97773a,0 5px 0 4px #0004;color:#fff2d3;font-size:23px;font-weight:800;letter-spacing:5px;z-index:2;text-shadow:2px 2px #001c2b}.login-panel{padding:32px 30px 24px;background:#04121f;border:4px double #e5c47e;box-shadow:0 0 0 3px #05121c,0 0 0 5px #826b41,9px 10px 0 #0003}.login-overline{font-family:monospace;letter-spacing:3px;font-size:10px!important;color:#bda56f!important}.login-panel h2{font-size:22px;margin:12px 0;color:#fff1d4}.login-panel>p{font-size:12px;color:#9cb6bc}.login-panel label{display:block;color:#e4d4ad;font-size:12px;margin:18px 0 9px}.login-panel input{display:block;width:100%;min-width:0;background:#10293c;border:1px solid #638792;border-radius:0;padding:13px;color:#f7efd8;font-size:16px;outline-offset:3px}.login-panel input:focus{outline:2px solid #e0bd70}.password-wrap{position:relative}.password-wrap input{padding-right:60px}.password-wrap button{position:absolute;right:7px;top:4px;bottom:4px;border:0;background:none;color:#b8d2d5;font-size:12px;padding:8px}.login-start{width:100%;padding:14px 12px;margin-top:10px;background:linear-gradient(#f5d993,#cda85b);color:#102535;border:3px double #42351e;outline:1px solid #e8cf98;font-size:16px;font-weight:750;letter-spacing:2px;box-shadow:0 4px 0 #796032}.login-start:hover{background:#ffe5a5}.login-demo{font-size:10px;line-height:1.8;color:#91a8af;border-top:1px solid #2d4657;padding-top:14px;margin-top:19px}.login-demo strong{font-weight:500;color:#c8b37e}.entry-rules{display:flex;justify-content:space-between;gap:10px;margin-top:27px}.entry-rules>div{display:flex;gap:8px;font-size:10px;align-items:flex-start}.entry-rules b{font:12px monospace;color:#d9bf80}.entry-rules span{color:#dce5de}.entry-rules small{display:block;font-size:8px;color:#93acb1;margin-top:6px}.entry-footer{text-align:center;font-size:9px;letter-spacing:2px;color:#789aa5;margin:27px auto 0}.entry-footer span{margin:0 20px;color:#c9aa69}.login-error:empty{display:none}
.ocean-panel{background:radial-gradient(ellipse at 50% 35%,#123d52,transparent 65%),#071c2c;border-right:3px double #b8a678}.brand{color:#ead499}.game-dialog{border:3px double #ebeddc;border-radius:2px;outline:1px solid #8c784b;background:#020f1c}.workspace{background:radial-gradient(ellipse at 75% 0,#123b52,transparent 70%),#091e30}.topbar{border-bottom:3px double #8eaaac}.title-block strong{color:#f4dc9b;text-shadow:2px 2px #000;letter-spacing:4px}.title-block>span{color:#9db8c3}.demo-pill{color:#d9cda7;border-color:#9a8657}.logout-button{background:#020e19;color:#f2e5c0;border:2px solid #a8bab7;padding:7px 12px;border-radius:2px;font-size:11px;min-height:36px}.sessionbar{color:#9fbbc3}.sessionbar button{color:#ebd28c}.sessionbar i{background:#7fdbc2}.welcome-label{color:#dac38d}.welcome h2{color:#fff2d7;text-shadow:2px 2px #000}.welcome>p{color:#b4c7cb}.suggestions{gap:15px}.suggestions button{background:linear-gradient(140deg,#164b63,#0a2a41);border:4px double #e4cb88;border-radius:1px;box-shadow:0 0 0 2px #00121e,0 0 0 3px #8b7343,4px 5px 0 #0005;color:#fff2d3}.suggestions button:hover{background:linear-gradient(140deg,#246781,#123a50);border-color:#ffe9af}.suggestions strong{font-weight:750;text-shadow:1px 1px #000}.suggestions small{color:#bfd0ce}.suggestions b,.tile-icon{color:#efd18c}.trust-note{border-color:#5b7780;color:#b8c7c2}.trust-note strong{color:#e5d8b4}.trust-note>span{color:#d8b368}.composer-area{background:#091e30}.composer{background:#020e19;border:3px double #e1e7d8;outline:1px solid #66838b;border-radius:4px;box-shadow:0 5px 0 #0003}.composer:focus-within{border-color:#f5d88e;box-shadow:0 0 0 2px #bda466}textarea{color:#ecede2}textarea::placeholder{color:#90a8b1}.attach-button{color:#b8cdcf}.send-button{background:linear-gradient(#f0d699,#bc9750);color:#152535;border-radius:2px;border:2px solid #e7ca84}.composer-foot{color:#9ab1b6}.preview-notice{color:#b4a378}.user-message{background:#173e53;border:1px solid #60808a;border-radius:3px}.message{color:#dae6e5}.assistant-label{color:#dbc68d}.answer-body{background:#031321;border:3px double #a9bfbd;padding:20px;border-radius:3px}.answer-body h3{color:#f4dfaa}.answer-status{color:#c0af80}.source-button{background:#113449;border:1px solid #79908f;color:#efe0af;border-radius:2px}.feedback{color:#b3c3c6}.feedback button{color:#e9dbb3;border-color:#768e8c;border-radius:2px}.feedback button.selected{background:#30545e;color:#fff2c8;border-color:#ecd28c}.feedback textarea{background:#0d293b;color:#e4e9df;border-color:#6f9299}.feedback .submit-feedback{background:#d4b26e;color:#142432}.feedback.saved{color:#c3dcc2}.attachment{background:#254a5b;color:#ecdfbb;border-radius:2px}.attachment button{color:#e8d9af}.mobile-mascot{border:2px solid #cfb36b}.mobile-anchor{color:#e2c277}dialog{background:#071c2c;border:4px double #dfce9b;border-radius:3px;color:#fff1d5}dialog p{color:#b4c8cd}.modal-close{color:#d6cfac}.primary-button{background:#d8b675;color:#0e2539;border-radius:2px}.modal-actions>button:not(.primary-button){color:#c4d8d8}.source-placeholder{background:#123146;color:#d3e1e0}.toast{background:#061521;border:2px solid #d4c89f;border-radius:2px}
@media(min-width:1500px){.entry-grid{margin-top:5vh;max-width:1150px}.entry-art{height:420px}}
@media(max-width:850px){.entry{padding:23px 30px}.entry-grid{gap:35px;max-width:620px;grid-template-columns:1fr;margin-top:28px}.entry-hero h1{font-size:65px}.entry-art{height:290px}.entry-speech{max-width:460px;margin:auto}.entry-right{max-width:480px;width:100%;margin:auto}.entry-header{font-size:10px;letter-spacing:1px}.entry-footer{line-height:2}.entry-rules{margin-bottom:10px}}
@media(max-width:520px){.entry{padding:20px 22px}.entry-header>span:last-child{font-size:8px}.entry-header{font-size:8px;gap:8px}.entry-header b{margin-left:3px}.entry-kicker{font-size:10px;letter-spacing:2px}.entry-hero h1{font-size:50px;letter-spacing:5px}.entry-english{font-size:9px;letter-spacing:4px}.entry-art{height:240px;margin-top:5px}.entry-speech{padding:17px 19px}.entry-speech p{font-size:12px}.entry-grid{gap:32px}.ribbon{font-size:20px}.login-panel{padding:28px 20px 22px}.login-panel h2{font-size:20px}.entry-rules{gap:6px}.entry-rules>div{gap:5px;font-size:9px}.entry-rules small{font-size:8px;line-height:1.6}.entry-footer{font-size:8px;letter-spacing:1px}.suggestions button{border-width:4px}.answer-body{padding:15px}.top-actions{gap:7px}.logout-button{font-size:10px;padding:5px 8px}.game-dialog p{font-size:12px}}
/* Original 8-bit quest: animation never represents a fabricated completion percentage. */
.quest-progress{max-width:720px}.quest-scene{position:relative;height:88px;overflow:hidden;border:1px solid #527a87;background:repeating-linear-gradient(90deg,transparent 0 47px,#65868a15 48px),linear-gradient(#102b44,#1a4a60);image-rendering:pixelated}.quest-mountain{position:absolute;inset:8px 0 0;background:#416779;clip-path:polygon(0 100%,15% 35%,23% 62%,40% 0,57% 65%,72% 23%,100% 100%);opacity:.65}.quest-water{position:absolute;inset:60% 0 0;background:repeating-linear-gradient(0deg,#46c8d444 0 3px,#16496799 3px 12px);border-top:3px dashed #72d7db}.quest-sprite{position:absolute;width:48px;height:60px;left:8%;bottom:9px;image-rendering:pixelated;animation:quest-hop 1.1s steps(4,end) infinite}.quest-progress[data-stage=retrieve] .quest-sprite{animation:quest-dive 2s steps(8,end) infinite}.quest-progress[data-stage=compose] .quest-sprite{animation:quest-climb 2s steps(6,end) infinite}.quest-progress[data-stage=verify] .quest-sprite{animation:quest-hop .8s steps(4,end) infinite;left:75%}.quest-title{font-weight:700;color:#f5dc9c;margin:16px 0 8px}.quest-meta,.quest-note{font-size:12px;color:#aec9ce;line-height:1.7}.quest-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0;list-style:none;font-size:12px;margin:14px 0}.quest-steps li{padding:8px;border:1px solid #416271;color:#8fa9b4}.quest-steps .current{border-color:#efd392;color:#fff1c8;background:#264a58}.quest-steps .completed{color:#8cdbc8;border-color:#518d85}.quest-progress button{min-height:44px;padding:8px 14px}.quest-progress .quest-note{font-size:11px}@keyframes quest-hop{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}@keyframes quest-dive{0%,100%{transform:translate(0,2px) rotate(12deg)}50%{transform:translate(90px,20px) rotate(28deg)}}@keyframes quest-climb{0%,100%{transform:translate(0,0)}50%{transform:translate(70px,-22px)}}@media(max-width:520px){.quest-steps{grid-template-columns:repeat(2,1fr)}.quest-scene{height:80px}}@media(prefers-reduced-motion:reduce){.quest-sprite{animation:none!important}}
/* Original pixel-art inventory items, drawn on a forty-cell grid. */
.suggestions button{padding:20px 16px 18px;overflow:visible}.suggestions .tile-icon{position:relative;display:grid;place-items:center;width:88px;height:88px;left:auto;top:auto;margin:0 auto 12px;background:radial-gradient(#32829166,transparent 70%)}.rpg-item{width:80px;height:80px;filter:drop-shadow(4px 5px 0 #020e1980);transition:transform .18s steps(3)}.suggestions button:hover .rpg-item,.suggestions button:focus-visible .rpg-item{transform:translateY(-4px)}.suggestions .item-name{display:block;font-size:10px;letter-spacing:2px;color:#efd18c;margin-bottom:10px}.suggestions strong{font-size:14px}.suggestions small{font-size:11px}.suggestions b{font-size:10px}
@media(max-width:520px){.suggestions button{min-height:106px;padding:14px 25px 14px 106px}.suggestions .tile-icon{position:absolute;left:10px;top:9px;margin:0;width:80px;height:80px}.rpg-item{width:72px;height:72px}.suggestions .item-name{font-size:9px;margin-bottom:5px}.suggestions strong{font-size:13px}.suggestions small{font-size:10px}.suggestions b{right:10px;top:46px}}
@media(prefers-reduced-motion:reduce){.rpg-item{transition:none}.suggestions button:hover .rpg-item,.suggestions button:focus-visible .rpg-item{transform:none}}
