@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c9a0d344f313d307-s.p.04otpyah9cwvk.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(../media/aa914dbbd9a27e94-s.31e-htzfeyhln.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 Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5a1ede1938590d51-s.37a4gm19wsmwj.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5d6231e6818a3930-s.p.0t4anfzf7qhnx.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 Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(../media/280fac012b00b901-s.p.3vz72b7p-u7db.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(../media/65b08f011bd29e21-s.1lggw6jas8_2n.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 Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a1b65e215f8df202-s.09n5l2o_c63-v.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(../media/3347fc7792f0b5ea-s.p.3bwea2rv5j-ez.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 Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ceec3e50f42c26e3-s.p.2kfcf8ox-s2t2.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b140408e2d7eae5d-s.44293pltj-0q4.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 Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d3af3242084a193c-s.19sf16kk8bs_r.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(../media/441492499fc86682-s.p.3k-oj3hs98av5.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 Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5ad8fdb5805e9b4a-s.p.0zeo54vr6bp6h.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(../media/bb8a9270184a3556-s.1mw73gddwkwfh.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 Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b3f2ed44161db83e-s.3d284zecdje-f.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(../media/84cd8d504984ae62-s.p.0x11s69nnl30n.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 Sans Arabic Fallback;src:local(Arial);ascent-override:107.25%;descent-override:41.02%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_arabic_1a5dba35-module__a4cApa__className{font-family:IBM Plex Sans Arabic,IBM Plex Sans Arabic Fallback;font-style:normal}.ibm_plex_sans_arabic_1a5dba35-module__a4cApa__variable{--font-arabic:"IBM Plex Sans Arabic", "IBM Plex Sans Arabic Fallback"}
@font-face{font-family:Amiri;font-style:normal;font-weight:700;font-display:swap;src:url(../media/291696193ea1e96b-s.p.18tjh3qqaxhod.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC7,U+10EC9-10EEE,U+10EF?,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Amiri;font-style:normal;font-weight:700;font-display:swap;src:url(../media/966a9c3087fc8ac2-s.0cn01x5f19g74.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Amiri;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1062333f2bd32cfe-s.1c56-m5_chvse.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:Amiri Fallback;src:local(Times New Roman);ascent-override:112.47%;descent-override:63.44%;line-gap-override:0.0%;size-adjust:99.94%}.amiri_5978a236-module__yNwhlq__className{font-family:Amiri,Amiri Fallback;font-style:normal;font-weight:700}.amiri_5978a236-module__yNwhlq__variable{--font-arabic-display:"Amiri", "Amiri Fallback"}
.phr-root{--phr-bg:#0b0d16;--phr-panel:#101321f0;--phr-panel-solid:#121628;--phr-card:#151a2e;--phr-card-2:#1b2139;--phr-line:#ffecc81f;--phr-line-strong:#ffecc83d;--phr-text:#f3eee4;--phr-muted:#b9b2a4;--phr-gold:#f0c36a;--phr-gold-soft:#f0c36a24;--phr-teal:#5fd3c6;--phr-good:#4ade80;--phr-bad:#fb7185;--phr-focus:#ffd98a;--phr-radius:14px;--phr-scale:1;--phr-font-body:var(--font-arabic), "Noto Sans Arabic", "Segoe UI", Tahoma, sans-serif;--phr-font-display:var(--font-arabic-display), var(--font-arabic), "Noto Naskh Arabic", "Times New Roman", serif;font-family:var(--phr-font-body);color:var(--phr-text);font-size:calc(1rem * var(--phr-scale));flex:1;line-height:1.85}.phr-root :focus-visible{outline:3px solid var(--phr-focus);outline-offset:2px;border-radius:8px}.phr-latin{font-family:var(--font-geist-sans), system-ui, sans-serif;color:var(--phr-muted);unicode-bidi:isolate;margin-inline-start:.35em;font-size:.82em}.phr-page{max-width:1100px;margin:0 auto;padding:28px 16px 64px}.phr-crumbs{color:var(--phr-muted);margin-bottom:18px;font-size:.85rem}.phr-crumbs a{color:var(--phr-muted);text-decoration:none}.phr-crumbs a:hover{color:var(--phr-gold)}.phr-hero{border:1px solid var(--phr-line);background:radial-gradient(1200px 400px at 85% -10%,#f0c36a38,#0000 60%),radial-gradient(800px 380px at 0 110%,#5fd3c629,#0000 60%),linear-gradient(160deg,#161a30,#0e1120);border-radius:22px;padding:40px 28px;position:relative;overflow:hidden}.phr-hero h1{margin:6px 0 12px;font-size:clamp(1.9rem,4.6vw,3.1rem);font-weight:700;line-height:1.35}.phr-hero p{color:#e2dccf;max-width:62ch;font-size:1.05rem}.phr-kicker{color:var(--phr-gold);font-size:.9rem;font-weight:600}.phr-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.phr-btn{border:1px solid var(--phr-line-strong);background:var(--phr-card-2);min-height:46px;color:var(--phr-text);font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.phr-btn:hover{border-color:var(--phr-gold)}.phr-btn:active{transform:translateY(1px)}.phr-btn[disabled]{opacity:.5;cursor:not-allowed}.phr-btn-gold{color:#23170a;background:linear-gradient(#f6cf7c,#d9a24a);border-color:#0000}.phr-btn-gold:hover{filter:brightness(1.06)}.phr-btn-ghost{background:0 0}.phr-btn-sm{min-height:38px;padding:6px 14px;font-size:.92rem}.phr-grid{gap:16px;display:grid}@media (min-width:760px){.phr-grid-2{grid-template-columns:1fr 1fr}.phr-grid-3{grid-template-columns:repeat(3,1fr)}}.phr-section{margin-top:40px}.phr-section>h2,.phr-h{color:var(--phr-text);margin:0 0 14px;font-size:1.35rem;font-weight:700}.phr-card{background:var(--phr-card);border:1px solid var(--phr-line);border-radius:var(--phr-radius);padding:18px}.phr-card-accent{background:linear-gradient(180deg, #f0c36a1a, #f0c36a08), var(--phr-card);border-color:#f0c36a4d}.phr-tag{border:1px solid var(--phr-line-strong);color:var(--phr-muted);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:600;display:inline-block}.phr-tag-free{color:#0f2d1d;background:#74e3a4;border-color:#0000}.phr-tag-premium{color:var(--phr-gold);background:var(--phr-gold-soft);border-color:#f0c36a80}.phr-tag-pending{color:#c8c3ff;border-color:#c8c3ff66}.phr-muted{color:var(--phr-muted)}.phr-note{color:var(--phr-muted);margin-top:10px;font-size:.86rem}.phr-map-module{border-inline-start:4px solid var(--phr-mod,var(--phr-gold))}.phr-axis-list{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.phr-axis-list a,.phr-axis-row{border:1px solid var(--phr-line);color:var(--phr-text);background:#ffffff08;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.phr-axis-list a:hover{border-color:var(--phr-gold)}.phr-steps{counter-reset:s;gap:10px;margin:0;padding:0;list-style:none;display:grid}.phr-steps li{counter-increment:s;padding-inline-start:44px;position:relative}.phr-steps li:before{content:counter(s);inset-inline-start:0;background:var(--phr-gold-soft);width:30px;height:30px;color:var(--phr-gold);border-radius:50%;place-items:center;font-weight:700;display:grid;position:absolute;top:2px}.phr-pre{white-space:pre-wrap;border:1px solid var(--phr-line);background:#00000040;border-radius:10px;padding:12px 14px}.phr-input{border:1px solid var(--phr-line-strong);width:100%;min-height:48px;color:var(--phr-text);font:inherit;background:#0c0f1c;border-radius:12px;padding:10px 14px}.phr-input:focus{border-color:var(--phr-gold);outline:none}.phr-code-input{text-align:center;letter-spacing:.12em;font-family:var(--font-geist-mono), ui-monospace, monospace;text-transform:uppercase;direction:ltr}.phr-alert{border:1px solid var(--phr-line-strong);border-radius:12px;padding:12px 14px}.phr-alert-ok{background:#4ade8014;border-color:#4ade8080}.phr-alert-bad{background:#fb718514;border-color:#fb718580}.phr-alert-warn{background:#f0c36a14;border-color:#f0c36a80}.phr-lesson{grid-template-columns:minmax(0,1fr);gap:26px;display:grid}.phr-problem{margin:4px 0;font-size:1.35rem;font-weight:700}.phr-question{color:var(--phr-gold);margin-bottom:8px;font-weight:500}.phr-terms{gap:10px;margin:0;display:grid}@media (min-width:760px){.phr-terms{grid-template-columns:1fr 1fr}}.phr-term{background:var(--phr-card);border:1px solid var(--phr-line);border-radius:12px;padding:12px 14px}.phr-term dt{color:var(--phr-teal);font-weight:700}.phr-term dd{margin:4px 0 0}.phr-positions{gap:14px;display:grid}@media (min-width:900px){.phr-positions{grid-template-columns:1fr 1fr}}.phr-side{color:var(--phr-gold);font-size:.8rem;font-weight:600}.phr-pos-title{margin:2px 0;font-size:1.12rem;font-weight:700}.phr-names{color:var(--phr-muted);margin-bottom:8px;font-size:.9rem}.phr-pos-dl{margin:0}.phr-pos-dl dt{color:var(--phr-teal);margin-top:8px;font-size:.86rem;font-weight:700}.phr-pos-dl dd{margin:2px 0 0}.phr-table-wrap{border:1px solid var(--phr-line);border-radius:12px;overflow-x:auto}.phr-table{border-collapse:collapse;width:100%;min-width:560px;font-size:.94rem}.phr-table th,.phr-table td{border-bottom:1px solid var(--phr-line);text-align:start;vertical-align:top;padding:10px 12px}.phr-table thead th{background:var(--phr-card-2);color:var(--phr-gold)}.phr-table tbody th{color:var(--phr-teal);white-space:nowrap}.phr-misc{gap:10px;margin:0;padding:0;list-style:none;display:grid}.phr-wrong{color:#fda4af}.phr-right{color:#bbf7d0;margin-top:4px}.phr-revision{background:linear-gradient(180deg, #5fd3c61a, transparent), var(--phr-card);border-color:#5fd3c659}.phr-revision ul{margin:0;padding-inline-start:20px}.phr-lock-panel{text-align:center;padding:34px 20px}.phr-lock-icon{font-size:2.4rem}.phr-admin table{border-collapse:collapse;width:100%;font-size:.88rem}.phr-admin th,.phr-admin td{border-bottom:1px solid var(--phr-line);text-align:start;vertical-align:top;padding:8px}.phr-admin .phr-mono{font-family:var(--font-geist-mono), ui-monospace, monospace;direction:ltr;unicode-bidi:isolate}.phr-admin details summary{cursor:pointer;color:var(--phr-gold)}.phr-code-reveal{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.08em;text-align:center;border:2px dashed var(--phr-gold);background:var(--phr-gold-soft);-webkit-user-select:all;user-select:all;direction:ltr;border-radius:12px;padding:14px;font-size:1.4rem}.phr-game{isolation:isolate;touch-action:manipulation;background:radial-gradient(1200px 600px at 50% 0,#2a1c3a,#0b0d16 70%);width:100%;height:calc(100dvh - 64px);min-height:520px;position:relative;overflow:hidden}.phr-game:fullscreen{height:100dvh}.phr-canvas{z-index:0;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.phr-text-bg{background:radial-gradient(900px 500px at 80% 10%, #f0c36a2e, transparent 60%), radial-gradient(700px 500px at 10% 90%, #5fd3c61f, transparent 60%), repeating-conic-gradient(from 22.5deg, #ffffff06 0 45deg, transparent 45deg 90deg), #0e1020}.phr-boot{color:var(--phr-muted);align-content:center;place-items:center;gap:12px;display:grid}.phr-boot-mark{color:var(--phr-gold);font-size:3rem;animation:6s linear infinite phr-spin}@keyframes phr-spin{to{transform:rotate(360deg)}}.phr-topbar{top:0;z-index:5;background:linear-gradient(#080910d9,#08091000);align-items:center;gap:8px;padding:10px 12px;display:flex;position:absolute;inset-inline:0}.phr-spacer{flex:1}.phr-icon-btn{border:1px solid var(--phr-line-strong);min-width:42px;min-height:42px;color:var(--phr-text);font:inherit;cursor:pointer;background:#121628d9;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.phr-icon-btn:hover{border-color:var(--phr-gold)}.phr-icon-btn[disabled]{opacity:.35;cursor:default}.phr-keys{color:var(--phr-gold);white-space:nowrap;background:#f0c36a24;border:1px solid #f0c36a66;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-weight:700;display:inline-flex}.phr-keys small{opacity:.75;font-weight:500}.phr-stagearea{z-index:3;pointer-events:none;justify-content:flex-start;align-items:flex-start;padding:0 14px 14px;display:flex;position:absolute;inset:62px 0 0}.phr-stagearea>*{pointer-events:auto}.phr-panel{background:var(--phr-panel);border:1px solid var(--phr-line-strong);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:18px;width:min(420px,100%);max-height:100%;padding:16px 18px;overflow-y:auto;box-shadow:0 20px 60px #00000073}.phr-panel.is-wide{width:min(860px,100%);margin-inline:auto}.phr-panel.is-side{margin-inline-end:auto}.phr-panel-title{margin:2px 0 6px;font-size:1.35rem;font-weight:700}.phr-panel-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.phr-scroll{max-height:100%}.phr-back{color:var(--phr-muted);font:inherit;cursor:pointer;background:0 0;border:none;min-height:36px;padding:4px 0}.phr-back:hover{color:var(--phr-gold)}.phr-title{text-align:center;border:1px solid var(--phr-line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0b149e;border-radius:24px;align-self:center;max-width:560px;margin:auto;padding:28px 22px}.phr-title-name{background:linear-gradient(#fff1cc,#e0a854);color:#0000;text-shadow:0 0 40px #f0c36a40;-webkit-background-clip:text;background-clip:text;margin:4px 0;font-size:clamp(2.4rem,8vw,4.2rem);font-weight:700;line-height:1.3}.phr-title-sub{color:#e8dfcf;font-size:1.1rem}.phr-btn-lg{min-height:54px;padding:12px 28px;font-size:1.1rem}.phr-gate-list,.phr-axis-cards,.phr-stage-list,.phr-clue-list{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.phr-gate-btn,.phr-axis-card,.phr-stage,.phr-next-card{text-align:start;width:100%;font:inherit;color:var(--phr-text);cursor:pointer;border:1px solid var(--phr-line-strong);background:var(--phr-card);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;display:flex}.phr-gate-btn{border-inline-start:5px solid var(--phr-mod);flex-direction:column;align-items:flex-start}.phr-gate-btn:hover,.phr-axis-card:hover,.phr-stage:hover:not([disabled]),.phr-next-card:hover{border-color:var(--phr-gold)}.phr-gate-name{font-size:1.05rem;font-weight:700}.phr-gate-meta{color:var(--phr-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.85rem;display:flex}.phr-next-card{background:linear-gradient(90deg, #f0c36a29, transparent), var(--phr-card);border-color:#f0c36a73;flex-direction:column;align-items:flex-start;gap:2px;margin-top:10px}.phr-next-card.is-teal{background:linear-gradient(90deg, #5fd3c629, transparent), var(--phr-card);border-color:#5fd3c673}.phr-concept h3{color:var(--phr-teal);margin:14px 0 4px;font-size:1.05rem}.phr-axis-card.is-locked{background:#151a2eb3}.phr-axis-n{background:var(--phr-gold-soft);width:34px;height:34px;color:var(--phr-gold);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.phr-axis-body{gap:2px;display:grid}.phr-axis-body small{color:var(--phr-muted)}.phr-axis-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.phr-mission-stats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.phr-stage.is-locked{opacity:.55;cursor:not-allowed}.phr-stage.is-passed{border-color:#4ade8073}.phr-stage.is-next{border-color:var(--phr-gold);box-shadow:0 0 0 2px #f0c36a40}.phr-stage-icon{text-align:center;flex:none;width:34px;font-size:1.4rem}.phr-stage-body{display:grid}.phr-stage-body small{color:var(--phr-muted);font-size:.8rem}.phr-gains{margin:4px 0 10px;padding-inline-start:20px}.phr-labels{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.phr-label{pointer-events:auto;visibility:hidden;font:inherit;color:#fff8e8;cursor:pointer;white-space:nowrap;text-shadow:0 1px 2px #000c;will-change:transform;background:#0c0c16c7;border:1px solid #f0c36a8c;border-radius:12px;flex-direction:column;align-items:center;padding:6px 12px;font-weight:700;line-height:1.4;display:flex;position:absolute;top:0;left:0}.phr-label small{color:var(--phr-gold);font-size:.72rem;font-weight:600}.phr-label.is-clue{border-color:#9ff7ff80;padding:4px 10px;font-size:.85rem}.phr-label:hover{border-color:#fff}.phr-game[data-screen=stage] .phr-label.is-gate,.phr-game[data-screen=mission] .phr-label{display:none}.phr-activity{padding:18px 20px}.phr-act-head{margin-bottom:10px}.phr-act-title{margin:0 0 6px;font-size:1.3rem;font-weight:700}.phr-act-brief{color:#ddd5c6;margin:6px 0 0}.phr-progress{background:#ffffff14;border-radius:999px;height:6px;overflow:hidden}.phr-progress span{background:linear-gradient(90deg, var(--phr-gold), #ffe3a6);height:100%;transition:width .3s;display:block}.phr-hint{margin-top:8px}.phr-case{background:#f0c36a14;border:1px solid #f0c36a4d;border-radius:14px;margin-bottom:12px;padding:12px 14px}.phr-case p{margin:4px 0 0;font-size:1.05rem}.phr-ask{margin:12px 0 8px;font-weight:700}.phr-question-text{margin:4px 0 12px;font-size:1.15rem;font-weight:600}.phr-choices{gap:8px;display:grid}.phr-choices-row{flex-wrap:wrap;gap:8px;display:flex}.phr-choice{text-align:start;font:inherit;color:var(--phr-text);background:var(--phr-card-2);border:1px solid var(--phr-line-strong);cursor:pointer;border-radius:12px;width:100%;min-height:48px;padding:11px 14px;transition:border-color .15s,background .15s;display:block}.phr-choices-row .phr-choice{text-align:center;flex:140px;width:auto}.phr-choice:hover:not([disabled]){border-color:var(--phr-gold)}.phr-choice.is-picked{border-color:var(--phr-gold);background:#f0c36a1f}.phr-choice.is-good{background:#4ade801f;border-color:#4ade80cc}.phr-choice.is-bad{background:#fb71851a;border-color:#fb7185cc}.phr-choice.is-dim{opacity:.55}.phr-choice[disabled]{cursor:default}.phr-why{color:var(--phr-muted);margin-top:4px;font-size:.86rem;display:block}.phr-feedback{border:1px solid;border-radius:12px;margin-top:12px;padding:10px 14px}.phr-feedback.is-ok{background:#4ade8014;border-color:#4ade8099}.phr-feedback.is-ok strong{color:var(--phr-good)}.phr-feedback.is-bad{background:#fb718512;border-color:#fb718599}.phr-feedback.is-bad strong{color:var(--phr-bad)}.phr-next{width:100%;margin-top:14px}.phr-sort-card{background:linear-gradient(#232a48,#1a2038);border:1px solid #f0c36a66;border-radius:16px;padding:14px 16px;font-size:1.08rem;box-shadow:0 10px 30px #00000059}.phr-sort-card p{margin:4px 0 0}.phr-bins{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:12px;display:grid}.phr-bin{font:inherit;color:var(--phr-text);border:1px dashed var(--phr-line-strong);cursor:pointer;background:#ffffff0a;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:64px;padding:8px;font-weight:700;display:flex}.phr-bin small{color:var(--phr-muted);font-weight:500}.phr-bin:hover:not([disabled]){border-color:var(--phr-gold);border-style:solid}.phr-bin.is-good{background:#4ade801f;border:1px solid #4ade80d9}.phr-bin.is-bad{background:#fb71851a;border:1px solid #fb7185d9}.phr-reply{border-inline-start:4px solid var(--phr-teal);background:#5fd3c60f;border-radius:10px;margin:0;padding:10px 14px}.phr-reply p{margin:4px 0 0;font-size:1.05rem}.phr-claim{border-color:var(--phr-bad);background:#fb71850f}.phr-order{gap:8px;margin:0;padding:0;list-style:none;display:grid}.phr-order li{background:var(--phr-card-2);border:1px solid var(--phr-line-strong);border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.phr-order li.is-good{border-color:#4ade80cc}.phr-order li.is-bad{border-color:#fb7185cc}.phr-order-n{background:var(--phr-gold-soft);width:28px;height:28px;color:var(--phr-gold);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.phr-order-t{flex:1}.phr-order-btns{gap:4px;display:flex}.phr-built{border:1px solid var(--phr-line);background:#0003;border-radius:12px;margin-bottom:8px;padding:10px 12px}.phr-built p{margin:4px 0}.phr-rubric{gap:6px;padding:0;list-style:none;display:grid}.phr-duel{justify-content:center;margin-bottom:12px;display:flex}.phr-opponent{justify-items:center;gap:4px;min-width:220px;display:grid}.phr-opp-mask{color:var(--phr-bad);text-shadow:0 0 20px #fb718599;font-size:2.6rem}.phr-meter{background:#ffffff14;border-radius:999px;width:100%;height:10px;display:block;overflow:hidden}.phr-meter span{background:linear-gradient(90deg,#fb7185,#f43f5e);height:100%;transition:width .5s;display:block}.phr-meter.is-skill span{background:linear-gradient(90deg, var(--phr-teal), #a7f3d0)}.phr-verdict{text-align:center;border-radius:16px;padding:16px}.phr-verdict.is-win{background:#4ade801a;border:1px solid #4ade8080}.phr-verdict.is-lose{background:#fb718514;border:1px solid #fb718573}.phr-verdict h3{margin:0 0 6px;font-size:1.3rem}.phr-score{flex-wrap:wrap;align-items:baseline;gap:12px;margin:6px 0 10px;display:flex}.phr-score-n{font-variant-numeric:tabular-nums;font-size:3rem;font-weight:700;line-height:1}.phr-score.is-pass .phr-score-n{color:var(--phr-good)}.phr-score.is-fail .phr-score-n{color:var(--phr-bad)}.phr-reward-keys{font-size:1.02rem}.phr-skills{margin:14px 0}.phr-skill{grid-template-columns:9.5em 1fr 3.2em;align-items:center;gap:10px;margin:6px 0;display:grid}.phr-review summary{cursor:pointer;color:var(--phr-gold);margin:8px 0}.phr-review ul{gap:6px;padding-inline-start:4px;list-style:none;display:grid}.phr-review li.is-ok{color:#c9f7d8}.phr-review li.is-bad{color:#fecdd3}.phr-explore-wrap{flex-direction:column;gap:8px;width:min(420px,100%);display:flex}.phr-explore-hud{background:var(--phr-panel);border:1px solid var(--phr-line-strong);border-radius:16px;gap:8px;padding:12px 14px;display:grid}.phr-explore-count{color:var(--phr-gold);font-weight:700}.phr-explore-btns{flex-wrap:wrap;gap:8px;display:flex}.phr-clue-list{background:var(--phr-panel);border:1px solid var(--phr-line-strong);border-radius:16px;max-height:46vh;margin:0;padding:10px;overflow-y:auto}.phr-modal{z-index:20;pointer-events:auto;background:#05060c8c;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.phr-modal-card{background:var(--phr-panel-solid);border:1px solid var(--phr-line-strong);border-radius:18px;width:min(560px,100%);max-height:100%;padding:18px 20px;overflow-y:auto;box-shadow:0 30px 80px #0009}.phr-pause{gap:10px;max-width:380px;display:grid}.phr-field{border:none;gap:6px;margin:12px 0;padding:0;display:grid}.phr-field legend{margin-bottom:6px}.phr-row{align-items:center;gap:8px;display:flex}.phr-radio{border:1px solid var(--phr-line);border-radius:10px;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.phr-intro{text-align:center;border:1px solid var(--phr-line);background:#08091099;border-radius:22px;align-self:center;max-width:680px;margin:auto;padding:26px 22px}.phr-intro-line{min-height:3.8em;font-size:clamp(1.15rem,3vw,1.5rem);line-height:1.9;animation:.6s phr-fade}.phr-is-calm .phr-intro-line,.phr-game.is-calm .phr-intro-line{animation:none}@keyframes phr-fade{0%{opacity:0;transform:translateY(8px)}}.phr-intro-dots{color:var(--phr-gold);letter-spacing:.3em;margin-top:10px}.phr-toast{bottom:16px;z-index:30;text-align:center;background:var(--phr-panel-solid);border:1px solid var(--phr-line-strong);border-radius:12px;max-width:480px;margin:0 auto;padding:10px 14px;position:absolute;inset-inline:16px}.phr-toast.is-bad{border-color:#fb718599}.phr-game.is-text .phr-stagearea{justify-content:center}@media (max-width:720px){.phr-hide-sm{display:none}.phr-topbar{gap:6px;padding:8px}.phr-icon-btn{min-width:40px;min-height:40px;padding:0 8px}.phr-stagearea{align-items:flex-end;padding:0 8px 8px;inset:56px 0 0}.phr-panel{border-radius:18px 18px 14px 14px;width:100%;max-height:72%;padding:14px}.phr-panel.is-wide,.phr-activity{max-height:100%}.phr-game[data-screen=stage] .phr-stagearea,.phr-game[data-screen=reward] .phr-stagearea,.phr-game[data-screen=lesson] .phr-stagearea,.phr-game[data-screen=revision] .phr-stagearea{align-items:stretch}.phr-explore-wrap{width:100%;margin-top:auto}.phr-title,.phr-intro{align-self:center;margin-bottom:auto}.phr-skill{grid-template-columns:7em 1fr 3em}}.phr-hero h1,.phr-title-name,.phr-section>h2,.phr-h,.phr-panel-title,.phr-act-title,.phr-verdict h3{font-family:var(--phr-font-display);letter-spacing:normal;font-weight:700;line-height:1.55}.phr-section>h2,.phr-h,.phr-panel-title,.phr-act-title{font-size:1.5rem}.phr-title-name{padding-block:.08em;line-height:1.45}.phr-music-btn{font-size:1.15rem;position:relative}.phr-music-btn.is-off{color:var(--phr-muted)}.phr-music-btn.is-off:after{content:"";background:currentColor;height:2px;position:absolute;inset:50% 22%;transform:rotate(-35deg)}@media (max-width:400px){.phr-hide-xs{display:none}.phr-topbar{gap:5px}.phr-icon-btn{min-width:38px;min-height:40px;padding:0 6px}}.phr-stagearea>.phr-journey{pointer-events:none;position:absolute;inset:0}.phr-journey>*{pointer-events:auto}.phr-journey-entry{text-align:start;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin:12px 0 4px;display:flex}.phr-journey-entry small{opacity:.85;font-size:.82rem;font-weight:400}.phr-journey-route{top:4px;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:6px;width:max-content;max-width:calc(100% - 20px);margin-inline:auto;display:flex;position:absolute;inset-inline:0}.phr-route-stop{border:1px solid var(--phr-line);color:var(--phr-muted);background:#0e101cc7;border-radius:999px;padding:2px 10px;font-size:.82rem}.phr-route-stop b{color:var(--phr-text)}.phr-route-stop.is-open{border-color:var(--phr-gold);color:var(--phr-gold)}.phr-route-stop.is-done{color:#a6f0e3;border-color:#7fe7d599}.phr-journey-panel{top:40px;bottom:14px;width:min(450px,100% - 28px);height:max-content;max-height:calc(100% - 54px);position:absolute;inset-inline-start:14px}.phr-journey-panel.is-center{inset-inline:0;width:min(520px,100% - 28px);margin-inline:auto;top:50%;bottom:auto;transform:translateY(-50%)}.phr-journey-label{color:var(--phr-gold);margin:10px 0 2px;font-size:.82rem;font-weight:600}.phr-journey-thesis{font-weight:600}.phr-journey-small{font-size:.85rem}.phr-journey-card{background:var(--phr-card);border:1px solid var(--phr-line);border-radius:12px;margin:8px 0;padding:4px 12px 10px}.phr-journey-card.is-warn{border-color:#fb718573}.phr-journey-more{min-height:40px;margin:4px 0 6px}.phr-journey-compare{gap:4px;margin:8px 0 0;display:grid}.phr-journey-compare div{grid-template-columns:9em 1fr;gap:8px;font-size:.9rem;display:grid}.phr-journey-compare dt{color:var(--phr-muted)}.phr-journey-compare dd{margin:0}.phr-journey-question{outline:none;margin:4px 0 8px;font-size:1.12rem;line-height:1.7}.phr-journey-context{background:var(--phr-card);border-inline-start:3px solid var(--phr-gold);border-radius:8px;margin:0 0 8px;padding:8px 12px}.phr-journey-rules{margin:8px 0;padding-inline-start:1.2em}.phr-journey-rules-inline{color:#e2dccf;margin:10px 0;font-size:.9rem}.phr-journey-list{gap:8px;margin:8px 0 14px;padding:0;list-style:none;display:grid}.phr-journey-list li{background:var(--phr-card);border:1px solid var(--phr-line);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.phr-journey-list li.is-done{border-color:#7fe7d580}.phr-journey-hud{inset-inline:0;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:14px}.phr-journey-hud>*{pointer-events:auto}.phr-interact{min-height:56px;padding:10px 26px;font-size:1.1rem;box-shadow:0 8px 30px #f0c36a59}.phr-journey-note{border:1px solid var(--phr-line);text-align:center;background:#0e101cd1;border-radius:12px;max-width:min(560px,100% - 28px);margin:0;padding:6px 14px}.phr-journey-buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.phr-stick-zone{touch-action:none;width:48%;height:62%;position:absolute;bottom:0;left:0}.phr-fade{z-index:20;background:#07070c;animation:.45s both phr-fadein;position:absolute;inset:-80px 0 0}@keyframes phr-fadein{0%{opacity:0}}@media (max-width:720px){.phr-journey-panel,.phr-journey-panel.is-center{top:auto;bottom:8px;width:auto;max-height:68%;margin-inline:0;inset-inline:8px;transform:none}.phr-journey-panel.is-side{max-height:min(58%,560px);padding-bottom:max(16px, env(safe-area-inset-bottom));overscroll-behavior:contain}.phr-journey-compare div{grid-template-columns:1fr;gap:0}.phr-journey-hud{bottom:10px}}@media (prefers-reduced-motion:reduce){.phr-fade{animation:none}}.phr-journey-hud.is-touch{display:block;inset:0}.phr-journey-hud.is-touch .phr-journey-note{top:34px;margin-inline:auto;padding:4px 10px;font-size:.86rem;position:absolute;inset-inline:0}.phr-journey-hud.is-touch .phr-interact{max-width:46%;padding:10px 14px;font-size:1rem;position:absolute;bottom:12px;right:10px}.phr-journey-hud.is-touch .phr-journey-buttons{flex-direction:column;align-items:stretch;width:min(44%,190px);position:absolute;bottom:84px;right:10px}.phr-journey-hud.is-touch .phr-journey-buttons .phr-btn{min-height:44px;padding:6px 10px;font-size:.9rem}.phr-tag-warn{color:#3a2a06;background:var(--phr-gold);border-color:#0000}.phr-tag-bad{color:#3b0a14;background:var(--phr-bad);border-color:#0000}.phr-tag-muted{color:var(--phr-muted)}.phr-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.phr-stat{flex-direction:column;gap:2px;padding:12px 14px;display:flex}.phr-stat strong{font-variant-numeric:tabular-nums;font-size:1.6rem;line-height:1.1}.phr-stat span{color:var(--phr-muted);font-size:.85rem}.phr-admin .phr-table-wrap table{min-width:640px}.phr-dl{grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin:0;display:grid}.phr-dl dt{color:var(--phr-muted)}.phr-dl dd{overflow-wrap:anywhere;margin:0}.phr-admin-action{border:1px solid var(--phr-line);border-radius:12px;gap:6px;padding:12px;display:grid}.phr-admin-action h4{margin:0;font-size:1rem}.phr-admin-action p{margin:0;font-size:.86rem}.phr-admin-danger{border-color:#fb718573}.phr-code-box{justify-items:center;gap:8px;margin-top:8px;display:grid}.phr-code-box .phr-code-reveal{overflow-wrap:anywhere;max-width:100%;margin:0}@media (max-width:560px){.phr-dl{grid-template-columns:minmax(0,1fr)}.phr-code-reveal{font-size:1.1rem}}
