:root{--accent:#e3bd70;--surface:#0b233b;--text:#f4dfb4;--muted:#a9b5c2;color:#f5deab;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#071729;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}body{background:radial-gradient(at 50% 25%,#153553 0,#081b32 48%,#04101f 100%);min-height:100dvh;margin:0}body:before{content:"";pointer-events:none;opacity:.3;background-image:radial-gradient(#f9c96a 1px,#0000 1px);background-size:83px 103px;position:fixed;inset:0}button{font:inherit;cursor:pointer}#app{width:min(100%,520px);min-height:100dvh;padding:env(safe-area-inset-top,0px) 18px max(26px,env(safe-area-inset-bottom,0px));margin:auto;position:relative}#game{text-align:center}.academy-title{padding:6px 0 12px}.crest{color:#f7c967;text-shadow:0 0 20px #c0914744;font-size:37px;line-height:1}.overline{letter-spacing:3px;color:#bcaa89;margin:9px 0;font-family:system-ui,sans-serif;font-size:10px;display:block}h1{letter-spacing:2px;color:#f8d993;text-shadow:0 2px 3px #000;margin:5px 0 12px;font-size:clamp(26px,7vw,37px);font-weight:400;line-height:1.07}h1 strong{font-size:1.12em;font-weight:400}.level-pill{background:#0a2039;border:1px solid #b88740;border-radius:24px;padding:5px 23px;font-size:17px;display:inline-block;box-shadow:0 0 0 3px #bf945514}.matrix-frame{background:linear-gradient(135deg,#1f2b37,#081320);border:1px solid #d4a450;border-radius:17px;padding:9px;position:relative;box-shadow:0 0 0 3px #c2933918,0 10px 26px #0007}.matrix-frame:before{content:"✧";color:#e4bd68;background:#0c2138;font-size:25px;position:absolute;top:-16px;left:calc(50% - 9px)}.matrix{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.tile{aspect-ratio:1;background:linear-gradient(145deg,#fff3d7,#e8d7b6);border:1px solid #b58d48;border-radius:9px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #fff7e344,0 3px 3px #0006}.tile.missing{color:#fff1d3;text-shadow:0 3px #000;background:linear-gradient(145deg,#172c43,#09172a);font-size:clamp(38px,13vw,65px)}.motifs{justify-content:center;align-items:center;gap:3px;width:100%;height:100%;display:flex}.motif{aspect-ratio:1;filter:drop-shadow(0 2px 1px #0004);width:25%;max-width:29px}.tile.position .motifs{width:45%;height:45%;position:absolute}.tile.position.pos-0 .motifs{top:8%;left:8%}.tile.position.pos-1 .motifs{top:8%;right:8%}.tile.position.pos-2 .motifs{bottom:8%;right:8%}.tile.position.pos-3 .motifs{bottom:8%;left:8%}.tile.position .motif{width:60%;max-width:29px}.tile.rotation .motif{width:43%;max-width:38px}h2{margin:19px 0 5px;font-size:20px;font-style:italic;font-weight:400}.rule-label{color:#aab9c8;margin:0 0 15px;font-family:system-ui,sans-serif;font-size:11px}.options{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.option-wrap{position:relative}.option-wrap button{width:100%;padding:0;transition:transform .15s,box-shadow .15s}.option-wrap button:hover{transform:translateY(-2px)}.option-wrap button.selected{outline-offset:3px;outline:3px solid #f9cb67;box-shadow:0 0 17px #e5b55388}.option-letter{color:#e7bc64;margin-top:9px;font-size:17px;display:block}.option-wrap button:disabled{cursor:default}.option-wrap button.correct{outline-offset:2px;outline:3px solid #90cc9d}#response{color:#e9d2a2;min-height:38px;margin:12px 0 5px;font-family:system-ui,sans-serif;font-size:13px;line-height:1.45}.game-actions{grid-template-columns:1fr 1.6fr;gap:10px;display:grid}.game-actions button{color:#f0d4a0;background:#0b2742;border:1px solid #b18a46;border-radius:9px;min-height:48px;padding:9px;font-family:system-ui,sans-serif;font-weight:650}#check-button{color:#152033;background:linear-gradient(#eac77f,#b88a3e);box-shadow:0 3px #78531c}#check-button:disabled{opacity:.45;box-shadow:none}.footer-note{color:#8794a0;margin:18px 0 0;font-size:12px;font-style:italic}@media (height<=740px){.crest{font-size:26px}.overline{margin:5px 0}h1{margin-bottom:7px;font-size:25px}.academy-title{padding-bottom:9px}.level-pill{padding:4px 19px;font-size:14px}h2{margin-top:13px;font-size:18px}.rule-label{margin-bottom:10px}.footer-note{display:none}#response{min-height:28px;margin-top:9px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (width<=350px){#app{padding-left:12px;padding-right:12px}.options{gap:6px}.motif{max-width:23px}.matrix{gap:5px}}@media (height<=900px){.matrix-frame{width:clamp(170px,45dvh - 110px,300px);margin:0 auto}.crest{font-size:24px}.overline{margin:5px 0;font-size:9px}h1{margin:4px 0 8px;font-size:26px}.academy-title{padding-bottom:11px}.level-pill{padding:4px 17px;font-size:14px}.footer-note{display:none}.shell-nav{padding-bottom:0}.shell-message:empty{display:none}#response{min-height:28px;margin:10px 0 6px}h2{margin-top:13px}.rule-label{margin-bottom:11px}}@media (height<=650px){.crest,.overline{display:none}h1{margin:8px 0;font-size:22px;line-height:1.1}h1 br{display:none}h1 strong{font-size:1em}.academy-title{padding-top:0;padding-bottom:11px}.level-pill{font-size:12px}.matrix-frame{width:clamp(170px,45dvh - 100px,220px);padding:6px}.matrix{gap:4px}.tile{border-radius:6px}.tile.missing{font-size:36px}h2{margin-top:10px;font-size:17px}.rule-label{margin-bottom:9px;font-size:10px}.options{gap:7px}.option-letter{margin-top:5px;font-size:13px}.option-wrap .tile{aspect-ratio:auto;height:57px;max-height:57px}#response{min-height:25px;margin:8px 0 5px;font-size:11px}.shell-nav{margin-top:10px}.game-actions button{font-size:12px}#app{padding-bottom:max(24px,env(safe-area-inset-bottom))}}#app .shell-nav{padding-bottom:0}#app .shell-message:empty{display:none}@media (height<=650px){h1 strong{margin-left:.2em}}#app .shell-nav #shell-pause{font-family:system-ui,sans-serif;font-size:18px}.landing{text-align:center;padding:28px 0 14px}.landing-kicker{color:#f2cf7b;letter-spacing:1.6px;font-size:10px;font-weight:800}.landing-art{place-items:center;height:208px;display:grid}.academy-grid{background:linear-gradient(140deg,#102c48,#07182c);border:1px solid #caa456;border-radius:20px;grid-template-columns:repeat(3,1fr);gap:8px;padding:15px;display:grid;transform:rotate(-5deg);box-shadow:0 20px 30px #0005}.academy-grid b{color:#f2ce79;background:#25405c;border:1px solid #c99b49aa;border-radius:9px;place-items:center;width:44px;height:44px;font-size:25px;display:grid}.academy-grid b:last-child{color:#11263b;background:#dfb45a}.landing h2{color:#fff;margin:0 0 18px;font-size:42px;line-height:1.02}.landing h2 em{color:#f2cd79;font-style:normal}.landing-description{color:#bdcfe1;max-width:330px;margin:0 auto 20px;font-size:14px;line-height:1.7}.landing-progress{background:#ffffff09;border:1px solid #c49b4d66;border-radius:16px;gap:8px;margin-bottom:22px;padding:17px;display:grid}.landing-progress strong{color:#f4d994;font-size:16px}.landing-progress span{color:#bed0e5;font-size:12px}.landing button{border-radius:12px;width:100%;min-height:50px;margin:9px 0;font-weight:800;display:block}.landing-primary{color:#17293c;background:linear-gradient(#f4d78e,#d4a750);border:1px solid #ffdda0;box-shadow:0 4px #977239}.landing-secondary{color:#f5d38c;background:#203a56;border:1px solid #c49b4d88}.landing-link{color:#b4cde5;background:0 0;border:0}.landing-note{color:#a2b8cd;font-size:10px;line-height:1.7}.academy-practice{max-width:480px}.academy-practice .practice-matrix{gap:6px;margin:16px 0}.academy-practice .tile{min-height:58px}.academy-practice .options .tile{min-height:68px}.academy-practice select{max-width:100%;min-height:44px}.academy-practice p{font-size:13px;line-height:1.6}.academy-practice button.rejected{opacity:.5;border-color:#d46b61}.solved-matrix .tile:nth-child(n+7){box-shadow:inset 0 0 0 3px #e3b54b!important}.solved-matrix .tile:last-child{background:#ffeead!important}.academy-practice .correct{box-shadow:inset 0 0 0 3px #3a9e77!important}.academy-practice .landing-note{color:#627486}.academy-practice>button{min-height:44px}@media (height<=700px){.landing{padding-top:14px}.landing-art{height:160px}.academy-grid b{width:32px;height:32px;font-size:22px}.landing h2{font-size:33px}.landing-description{font-size:12px}.landing-progress{padding:13px}.landing button{min-height:46px}}.academy-practice{color:#f5deab;background:#0b233b;border:2px solid #c59c50;border-radius:23px;width:calc(100% - 28px);max-height:calc(100dvh - 46px);padding:22px;overflow:auto;box-shadow:0 20px 70px #0009}.academy-practice::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#020d1ab8}.academy-practice>button{color:#f5d38c;width:100%;min-height:46px;font:inherit;background:#173650;border:1px solid #b18a46;border-radius:10px;margin:9px 0;padding:10px;font-size:14px;display:block}.academy-practice>#academy-explain{color:#162d41;background:linear-gradient(#f1d58f,#cca050);font-weight:750}.academy-practice select{color:#f5d38c;font:inherit;background:#15344d;border:1px solid #b18a46;border-radius:9px;max-width:100%;padding:10px;font-size:13px}.academy-practice h2{color:#f3d38d;margin:12px 0 18px;font-size:25px}.academy-practice .landing-kicker{color:#dfbd74}.academy-practice .landing-note{color:#b4c7db;font-size:10px}.academy-practice .practice-matrix{gap:6px;max-width:285px;margin:16px auto}.academy-practice .practice-matrix .tile{min-height:0}.academy-practice #academy-response{background:#fff1;border-left:3px solid #d6b36a;padding:12px;font-family:system-ui,sans-serif;font-size:12px}.academy-practice #academy-response:empty{display:none}.shell-nav{padding-bottom:max(20px,env(safe-area-inset-bottom));gap:7px;margin:12px 0 0;display:flex}.shell-nav button{min-height:48px;font:inherit;border:1px solid var(--accent,#79c8e8);background:var(--surface,#163349);color:var(--text,#fff);border-radius:12px;flex:1;padding:8px;font-size:12px}.shell-nav #shell-pause{flex:0 0 48px}.shell-message{color:var(--muted,#9ab6c7);text-align:center;min-height:18px;margin:0 0 10px;font-size:12px}dialog[id^=shell-]{background:var(--surface,#163349);color:var(--text,#fff);border:2px solid var(--accent,#79c8e8);border-radius:20px;width:calc(100% - 24px);max-width:440px;max-height:calc(100dvh - 48px);padding:22px;font-family:inherit;overflow:auto;box-shadow:0 15px 60px #0008}dialog[id^=shell-]::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05121cb8}dialog[id^=shell-] button,dialog[id^=shell-] select{width:100%;min-height:48px;font:inherit;border:1px solid var(--accent,#79c8e8);background:var(--surface,#163349);color:var(--text,#fff);border-radius:10px;margin:8px 0;padding:10px;display:block}dialog[id^=shell-] button:disabled{opacity:.45}dialog[id^=shell-] h2{margin-top:0}dialog[id^=shell-] p{line-height:1.5}dialog[id^=shell-] a{color:var(--accent,#79c8e8)}.shell-settings{gap:7px;display:flex}.shell-fine{opacity:.8;font-size:11px}.shell-collection-card{border:1px solid var(--accent,#79c8e8);border-radius:8px;margin:5px 0;padding:10px}#shell-result-reward{color:var(--accent,#79c8e8);font-size:23px;font-weight:800}button:focus-visible,select:focus-visible{outline:3px solid var(--accent,#79c8e8);outline-offset:2px}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
