@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(./playfair-display-cyrillic-wght-normal-5WvUvBgz.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(./playfair-display-vietnamese-wght-normal-Cabi7G8-.woff2)format("woff2-variations");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:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(./playfair-display-latin-ext-wght-normal-CT1r92Rl.woff2)format("woff2-variations");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:Playfair Display Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(./playfair-display-latin-wght-normal-BOwq7MWX.woff2)format("woff2-variations");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}:root{--ink-soft:#6b5d45;--parch-1:#fffbf2;--parch-2:#f6edd9;--parch-3:#e3cf9f;--brass-1:#f0d071;--brass-2:#c69a35;--brass-3:#8a641a;--gold-3:#c9973a;--danger:#c8372f;--r-sm:6px;--r-md:10px;--r-lg:18px;--shadow-1:0 2px 6px #00000052;--shadow-2:0 8px 24px #0000006b;--shadow-3:0 20px 56px #00000094;--font-display:var(--display);--mincho:var(--display);--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}.btn{border:1px solid var(--paper-line);color:var(--ink);white-space:nowrap;background:linear-gradient(#fffdf8,#f5ecd6);border-radius:14px;justify-content:center;align-items:center;gap:7px;padding:11px 22px;font-size:15px;font-weight:650;text-decoration:none;transition:transform 80ms,filter .15s,border-color .15s,opacity .15s;display:inline-flex;box-shadow:0 2px 6px #503c141f}.btn:hover:not(:disabled){border-color:var(--gold-3)}.btn-primary{color:#2a1d05;background:linear-gradient(#ffffff75,#fff0 44%),linear-gradient(#f0d071,#c69a35 55%,#8a641a);border:0;box-shadow:inset 0 1px #ffffff8c,inset 0 -1px #0000002e,0 8px 22px #0000004d}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn.btn-danger{color:#fff;background:linear-gradient(#e15a4e,#a7241b);border:0}.btn-lg{letter-spacing:.02em;padding:14px 32px;font-size:17px}.btn.btn-sm{border-radius:10px;padding:6px 12px;font-size:12.5px}.btn.btn-block{width:100%;display:flex}.link-btn{color:inherit;opacity:.88;text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:5px;padding:4px 2px;font-size:13.5px;text-decoration:underline;display:inline-flex}.link-btn:hover:not(:disabled){opacity:1}.modal.paper .modal-title{font-family:var(--display);text-align:center;color:var(--ink);margin:2px 44px 14px;font-size:26px;font-weight:700;line-height:1.2}.modal.paper .modal-sub{text-align:center;color:var(--ink-soft);margin:-6px 0 14px;font-size:13px}.modal.paper .modal-body{z-index:1;gap:12px;display:grid;position:relative}.modal.paper.wide{width:min(760px,100%)}.modal-actions.row{flex-wrap:wrap}.app-toast{left:50%;bottom:calc(22px + var(--safe-bottom));z-index:120;color:#f6e7c4;text-align:center;max-width:min(92vw,460px);box-shadow:var(--shadow-2);background:#06100cf0;border:1px solid #f0d07152;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:700;animation:2.6s both app-toast;position:fixed;transform:translate(-50%)}@keyframes app-toast{0%{opacity:0;transform:translate(-50%,8px)}8%,86%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}.title-top{z-index:3;justify-content:space-between;align-items:center;gap:10px;min-height:40px;display:flex;position:relative}.title-top-right{align-items:center;gap:8px;display:flex}.title-top-left{align-items:center;gap:8px;min-width:0;display:flex}.ug-home{color:#f0d79b;font:700 12px/1 var(--font);letter-spacing:.04em;white-space:nowrap;background:#030c0899;border:1px solid #dcb46e59;border-radius:999px;flex:none;align-items:center;gap:7px;padding:4px 13px 4px 4px;text-decoration:none;display:inline-flex;box-shadow:0 2px 10px #0006}.ug-home:hover{color:#f2dcae;border-color:#e6c88c99}.ug-home svg{flex:none;width:22px;height:22px;display:block}.acc-pill{color:#d8bd8c;max-width:46vw;font:700 12px/1 var(--font);letter-spacing:.04em;white-space:nowrap;background:#030c0899;border:1px solid #dcb46e59;border-radius:999px;align-items:center;gap:7px;padding:7px 13px 7px 8px;display:inline-flex;box-shadow:0 2px 10px #0006}.acc-pill span{text-overflow:ellipsis;overflow:hidden}.acc-pill svg{flex:none;width:18px;height:18px}.acc-pill:hover{color:#f2dcae;border-color:#e6c88c99}.pill-badge{color:#fff;text-align:center;background:#d84a3a;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;line-height:18px;box-shadow:0 0 0 2px #2a190ae6}.share-btn{color:#f0d79b;font:700 12px/1 var(--font);letter-spacing:.04em;white-space:nowrap;cursor:pointer;background:#030c0899;border:1px solid #dcb46e59;border-radius:999px;flex:none;align-items:center;gap:7px;padding:4px 13px 4px 4px;display:inline-flex;box-shadow:0 2px 10px #0006}.share-btn:hover{color:#f2dcae;border-color:#e6c88c99}.share-btn svg{color:#3a2405;background:linear-gradient(180deg, var(--brass-1), var(--brass-2) 55%, var(--brass-3));border-radius:50%;flex:none;width:22px;height:22px;padding:5px;display:block;box-shadow:inset 0 1px #fff9}@media (max-width:640px){.share-btn{position:absolute;top:0;right:0}}@media (max-width:560px){.share-btn{padding:4px}.share-btn span{display:none}}.share-modal .modal-body{grid-template-columns:minmax(0,1fr)}.shr-head{align-items:center;gap:12px;margin:0 36px 2px 0;display:flex}.shr-head h2{font-family:var(--mincho);margin:0;font-size:21px;line-height:1.3}.shr-head .sub{color:var(--ink-soft);margin:2px 0 0;font-size:12.5px}.shr-mark{box-sizing:content-box;color:#3a2405;background:linear-gradient(180deg, var(--brass-1), var(--brass-2) 55%, var(--brass-3));border-radius:12px;flex:none;width:24px;height:24px;padding:9px;box-shadow:inset 0 1px #fff9,0 2px 6px #3c1e0859}.shr-mark svg{width:100%;height:100%;display:block}.shr-link{background:#fffcf099;border:1px solid #6e4a1a4d;border-radius:14px;align-items:center;gap:8px;padding:6px 6px 6px 14px;display:flex}.shr-url{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:all;user-select:all;flex:1;font-size:14px;font-weight:700;overflow:hidden}.shr-copy{appearance:none;background:var(--gold-grad);color:#3a2405;font:800 12.5px var(--font);cursor:pointer;border:1px solid #6b4a10;border-radius:999px;flex:none;align-items:center;gap:6px;padding:8px 14px;transition:background .15s,color .15s;display:flex;box-shadow:inset 0 1px #ffffffd9}.shr-copy svg{width:16px;height:16px}.shr-copy.done{color:#fff;background:#2f8a5b;border-color:#1f6a43}.shr-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 4px;margin:4px 0 0;display:grid}.shr-svc{appearance:none;min-width:0;color:var(--ink);font:700 11.5px var(--font);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:6px;margin:0;padding:4px 0;text-decoration:none;display:flex}.shr-svc span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.shr-svc:hover{background:#6e4a1a1a}.shr-svc:active .shr-ic{transform:scale(.92)}.shr-ic{color:#fff;background:var(--c,#6a4c26);border-radius:50%;flex:none;place-items:center;width:48px;height:48px;transition:transform .12s;display:grid;box-shadow:0 3px 8px #3c1e084d}.shr-ic svg{width:24px;height:24px}.shr-ic.x,.shr-ic.threads{--c:#000}.shr-ic.instagram{background:radial-gradient(circle at 30% 107%,#fdf497 0% 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.shr-ic.whatsapp{--c:#25d366}.shr-ic.line{--c:#06c755}.shr-ic.telegram{--c:#fff;color:#26a5e4}.shr-ic.telegram svg{width:48px;height:48px}.shr-ic.mail{--c:#6a4c26}.shr-note{border-radius:var(--r-sm);color:var(--ink);overflow-wrap:anywhere;background:#2f8a5b24;border:1px solid #2f8a5b73;margin:0;padding:9px 12px;font-size:12.5px;line-height:1.6;display:none}.shr-note.on{display:block}.share-modal .modal-actions{margin-top:4px}@media (max-width:420px){.modal.share-modal{padding-left:16px;padding-right:16px}.shr-link{padding-left:12px}.shr-url{font-size:12px}.shr-copy{padding:8px 11px}.shr-ic,.shr-ic.telegram svg{width:44px;height:44px}}@media (max-width:360px){.shr-head h2{font-size:18px}.shr-grid{column-gap:2px}.shr-svc{font-size:10.5px}}.modal.acc-modal{width:min(420px,100%)}.acc-modal h3{letter-spacing:.06em;color:#4a2f10;margin:14px 0 0;font-size:13px;font-weight:800}.acc-field{margin:10px 0;display:block}.acc-field span{letter-spacing:.08em;color:var(--ink-soft);margin-bottom:5px;font-size:11px;font-weight:800;display:block}.acc-field input{border-radius:var(--r-md);width:100%;color:var(--ink);font:400 15px/1.3 var(--font);background:#fffcf2bf;border:1px solid #78562273;padding:10px 12px}.acc-field input:focus{border-color:var(--brass-2);outline:none;box-shadow:0 0 0 3px #c69a3540}.acc-note{color:var(--ink-soft);margin:4px 0;font-size:12px;line-height:1.7}.acc-foot{text-align:center;margin:4px 0 0}.acc-error{border-radius:var(--r-sm);color:#7d2018;background:#c0392b1f;border:1px solid #c0392b59;margin:6px 0 0;padding:8px 11px;font-size:12px;font-weight:700}.acc-tip{border-radius:var(--r-sm);color:#3f5b32;background:#78aa602e;border:1px solid #5a8c4659;margin:4px 0;padding:9px 12px;font-size:12px;line-height:1.6}.acc-who{align-items:center;gap:14px;margin:0 0 2px;display:flex}.acc-who-text{flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-width:0;display:flex}.acc-who-text b{overflow-wrap:anywhere;font-size:18px}.acc-who-text span{color:var(--ink-soft);overflow-wrap:anywhere;font-size:12.5px}.avatar{width:var(--av-size,40px);height:var(--av-size,40px);background:radial-gradient(circle at 34% 28%,#d5c4a4,#c9b38a 68%,#918163);border:2px solid #140a0073;border-radius:50%;flex:none;display:block;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #ffffff4d,0 1px 3px #00000080}.avatar>svg,.avatar>img{width:100%;height:100%;display:block}.avatar>img{object-fit:cover}.acc-pill .avatar{box-shadow:none;border-width:1.5px}.acc-icon-btn{cursor:pointer;color:inherit;background:0 0;border:0;flex-direction:column;flex:none;align-items:center;gap:4px;padding:0;display:flex}.acc-icon-btn .avatar{transition:transform .12s,box-shadow .12s}.acc-icon-btn:hover .avatar{transform:translateY(-1px);box-shadow:0 0 0 3px #be8c2873}.acc-icon-hint{color:var(--ink-soft);text-underline-offset:2px;white-space:nowrap;font-size:11px;font-weight:700;text-decoration:underline}.acc-who .acc-id-label{letter-spacing:.08em;flex-basis:100%;font-size:10.5px;font-weight:800}.acc-who .acc-id-btn{text-align:left;flex-basis:100%;margin:2px 0 0;padding:0;font-size:12.5px}.acc-field-note{margin:-6px 0 6px;font-size:11px;line-height:1.6}.acc-buy a{color:#6b4513;text-underline-offset:3px;font-size:12px;font-weight:800}.acc-buy span{margin-top:2px;display:block}.acc-modal h4{color:#4a2f10;margin:12px 0 0;font-size:14px;font-weight:800}.acc-sec{justify-items:start;gap:4px;margin-top:6px;display:grid}.acc-sec>h4,.acc-sec>.acc-note{margin:0 0 2px}.acc-sec>.acc-keys{justify-self:stretch}.acc-btn-inline{justify-self:start}.acc-actions{justify-content:flex-end}.acc-actions .acc-delete{margin-right:auto;font-size:12.5px}.acc-friends-btn{align-items:center;gap:8px;display:inline-flex}.acc-badge{color:#fff7e6;background:#b0472f;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:800;line-height:1;display:inline-grid}.modal.icon-modal{width:min(560px,100%)}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px;margin:2px 0 4px;display:grid}.icon-modal .icon-group{text-align:left;border-bottom:1px solid #8a641a59;margin:4px 0 -6px;padding-bottom:5px}.icon-modal .icon-group:first-child{margin-top:0}.icon-tile{border-radius:var(--r-md);cursor:pointer;background:linear-gradient(#fffcf2b3,#f6eace73);border:1px solid #5034104d;place-items:center;padding:5px;transition:background .15s,transform .1s,box-shadow .15s;display:grid}.icon-tile:hover{background:#fffffff2;transform:translateY(-1px)}.icon-tile.on{background:linear-gradient(180deg, var(--brass-1), var(--brass-2));box-shadow:0 0 0 2px #7850148c,inset 0 1px #fff9}.acc-fcode{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:2px 0 0;display:flex}.acc-fcode-label{letter-spacing:.06em;color:var(--ink-soft);font-size:11px;font-weight:800}.acc-fcode-num{letter-spacing:.08em;font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;font-size:14px}.acc-fcode+.acc-note{margin-top:-6px;font-size:11px}.acc-fadd{gap:8px;display:flex!important}.acc-fadd input{border-radius:var(--r-sm);min-width:0;font:600 14px var(--font);color:#3f2708;background:#fffaf0;border:1px solid #78562273;flex:1;padding:8px 10px}.acc-fadd input:focus{border-color:var(--brass-2);outline:none}.acc-flist{margin:0;padding:0;list-style:none}.acc-frow{border-bottom:1px solid #8a641a38;align-items:center;gap:10px;padding:8px 0;display:flex}.acc-fmid{flex:1;gap:1px;min-width:0;display:grid}.acc-fmid b{overflow-wrap:anywhere;font-size:14px}.acc-fmid small{color:var(--ink-soft);font-size:11px}.acc-fbtns{flex:none;align-items:center;gap:6px;display:flex}.acc-frow.acc-frequest{background:#78aa601f;border-radius:8px;padding:8px}.acc-frow.acc-fpending .acc-fmid b{opacity:.75}.ol-dot{vertical-align:middle;background:#b9a888;border-radius:50%;width:8px;height:8px;margin-left:6px;display:inline-block}.ol-dot.on{background:#3fa45b;box-shadow:0 0 0 3px #3fa45b38}@media (max-width:480px){.acc-frow{flex-wrap:wrap}.acc-fbtns{justify-content:flex-end;width:100%}}.acc-keys{flex-direction:column;gap:6px;margin:0 0 4px;padding:0;list-style:none;display:flex}.acc-keys li{background:#fffcf280;border:1px solid #78562240;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 10px;display:flex}.acc-key-name{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:700}.acc-key-meta{color:var(--ink-soft);font-size:12px}.acc-key-acts{gap:8px;margin-left:auto;display:inline-flex}.link-btn.danger{color:#93331f}.link-btn:disabled{opacity:.4;cursor:default}.or-rule{letter-spacing:.06em;color:var(--ink-soft);opacity:.8;align-items:center;gap:10px;margin:4px -3px 0;font-size:11px;font-weight:800;display:flex}.or-rule:before,.or-rule:after{content:"";background:linear-gradient(90deg,#0000,#78541a73,#0000);flex:1;height:1px}.acc-modal form{display:grid}.modal.online-modal{width:min(560px,100%)}.online-code{background:#fffcf099;border:1px solid #6e4a1a40;border-radius:14px;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 14px;display:flex}.online-code .acc-note{margin:0;font-weight:800}.acc-note.warn{color:#a3402c;font-weight:700}.online-code .code{font:800 22px/1 var(--font);letter-spacing:.12em;color:#3f2708;font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all}.online-list{margin:2px 0 6px;padding:0;list-style:none}.online-list li{border-bottom:1px solid #6e4a1a29;align-items:center;gap:10px;padding:9px 0;display:flex}.online-list .who{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.online-list .who>div{gap:1px;min-width:0;display:grid}.online-list b{color:#3f2708;overflow-wrap:anywhere;font-size:14px}.online-list .who span{color:var(--ink-soft);font-size:11.5px;line-height:1.5}.online-list .acts{flex:none;align-items:center;gap:4px;display:flex}.dot-on{color:#2e8a4a;font-size:11px;font-weight:800}.st-joined{font-weight:800;color:#22663a!important}.st-invited{font-weight:800;color:#2c4f8a!important}.st-declined,.st-left,.st-gone{font-weight:800;color:#93331f!important}.online-add{align-items:flex-end;gap:8px;display:flex}.online-add .acc-field{flex:1;margin:0}.online-select{appearance:auto;border:1px solid var(--paper-line);width:100%;color:var(--ink);font:inherit;background:#fffdf8;border-radius:12px;padding:10px 12px;font-weight:600}.away-badge{vertical-align:2px;color:#f3b2a4;background:#c448342e;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:10px;font-weight:800}.player-card.away .pc-avatar{opacity:.55}.claim-chip{cursor:default;color:#5a3a08;white-space:normal;background:linear-gradient(#fff3d6,#f2d79a);border-color:#96641499;gap:10px;max-width:min(92vw,520px)}.claim-chip .btn{flex:none}.offline-chip{left:50%;top:calc(64px + var(--safe-top));z-index:30;color:#ffe3d8;box-shadow:var(--shadow-2);background:#781e14eb;border-radius:999px;padding:7px 16px;font-size:12.5px;font-weight:800;position:fixed;transform:translate(-50%)}.install-steps{margin:4px 0;padding-left:22px;font-size:13px;line-height:1.9}.update-bar,.invite-toast{width:-moz-fit-content;width:fit-content;max-width:min(92vw,460px);left:0;right:0;bottom:calc(14px + var(--safe-bottom));z-index:70;color:#f6e7c4;box-shadow:var(--shadow-2), inset 0 1px 0 #ffd69638;background:linear-gradient(178deg,#462c14f7,#28180af7);border:1px solid #ffd69642;border-radius:999px;align-items:center;gap:10px;margin-inline:auto;padding:7px 8px 7px 16px;font-size:13px;font-weight:700;animation:.28s cubic-bezier(.2,.9,.3,1) rise;display:flex;position:fixed}.invite-toast{bottom:auto;top:calc(12px + var(--safe-top));color:var(--ink);background:linear-gradient(172deg, var(--parch-1), var(--parch-2));border-color:#6040168c;border-radius:16px;padding:9px 10px 9px 16px}.invite-toast>span{z-index:1;position:relative}.modal-actions{justify-content:center;gap:10px;margin-top:20px;display:flex}.modal-actions.col{flex-direction:column;align-items:stretch}.modal.paper{border:1px solid #ffffff80;padding:26px 24px 22px;display:block;overflow:auto}.modal.paper .modal-body{padding:0;overflow:visible}.modal-close{width:34px;height:34px;color:var(--ink-2);z-index:2;background:#6e521e14;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.modal-close:hover{background:#6e521e29}.modal.paper .field{margin-top:16px}.modal.paper .field-label{color:var(--ink);margin-bottom:8px;font-size:14px;font-weight:700;display:block}:root{--bg0:#04121a;--bg1:#072029;--bg2:#0e3440;--gold-hi:#f8e6ad;--gold:#dcb658;--gold-lo:#a87d2a;--gold-grad:linear-gradient(180deg, #f8e4a3 0%, #e0bc60 46%, #b88f30 100%);--paper-grad:linear-gradient(180deg, #fffbf2 0%, #f6edd9 100%);--paper:#fbf5e7;--paper-line:#6e521e29;--ink:#221c12;--ink-2:#5f5442;--ink-3:#928771;--text:#f1eee6;--text-2:#f1eee69e;--glass:#061e26b8;--glass-line:#ffffff17;--glass-hover:#103c48d9;--paper-tint:#6e521e12;--text-3:#f1eee66b;--pos:#3ccf8e;--neg:#ff7b80;--red:#d8434a;--shadow:0 26px 70px #00000080, 0 8px 22px #00000047;--font:"Inter Variable", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Meiryo", "Thonburi", "Noto Sans Thai", "Leelawadee UI", system-ui, sans-serif;--display:"Playfair Display Variable", "Hiragino Mincho ProN", "Yu Mincho", Georgia, "Thonburi", "Noto Serif Thai", "Noto Sans Thai", "Leelawadee UI", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg0);color:var(--text);font-family:var(--font);font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;line-height:1.45}button{font:inherit;color:inherit}input{font:inherit}a{color:inherit}.app{background-color:#0000;background-image:radial-gradient(1100px 620px at 50% -14%,#e4bf6229,#0000 62%),radial-gradient(1200px 1100px at 50% 40%,#0f3a46 0%,#082630 50%,#04121a 100%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:100%;position:relative}.app:after{content:"";pointer-events:none;z-index:0;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cg fill='none' stroke='%23e4bf62' stroke-width='.7'%3E%3Cpath d='M0 80h160M80 0v160'/%3E%3Cpath d='M0 40h160M0 120h160M40 0v160M120 0v160' stroke-dasharray='2 4'/%3E%3C/g%3E%3C/svg%3E");position:fixed;inset:0}.app:before{content:"";pointer-events:none;opacity:.07;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.app>*{z-index:1;position:relative}.paper{background:var(--paper-grad);color:var(--ink);box-shadow:var(--shadow), inset 0 1px 0 #ffffffe6;border:1px solid #aa802c61;border-radius:22px}.glass{background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(14px)saturate(1.2);box-shadow:0 10px 28px #00000047,inset 0 1px #ffffff0f}.glass .muted{color:var(--text-2)}.small{font-size:12.5px}.center{text-align:center}.danger-text{color:#b9343a!important}.btn{letter-spacing:.01em;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:14.5px;font-weight:650;transition:transform .12s,filter .15s,box-shadow .15s,opacity .15s;display:inline-flex}.btn:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.4)}.btn.big{border-radius:14px;padding:15px 26px;font-size:16.5px}.btn.wide{width:100%}.btn-gold{background:var(--gold-grad);color:#2a1d05;border-color:#b48b31;box-shadow:inset 0 1px #fff9,0 6px 16px #8c5f0f52}.btn-paper{color:var(--ink);background:linear-gradient(#fffdf8,#f2e8d1);border-color:#96702861;box-shadow:0 2px 6px #50370a1a}.btn-dark{color:var(--text);border-color:var(--glass-line);background:#ffffff0f}.btn-danger{color:#fff;background:linear-gradient(#ee6b70,#c4373d);border-color:#a92d33}.btn-ghost{color:var(--ink-2);background:0 0}.link{color:var(--ink-2);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:13.5px;font-weight:600;-webkit-text-decoration:underline #5f544259;text-decoration:underline #5f544259;display:inline-flex}.link:hover{color:var(--ink)}.icon-btn{border:1px solid var(--glass-line);width:40px;height:40px;color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:12px;flex:none;place-items:center;transition:background .15s,border-color .15s,opacity .15s;display:inline-grid}.icon-btn:hover:not(:disabled){background:#dcb6581a;border-color:#dcb65880}.icon-btn:disabled{opacity:.32;cursor:default}.icon-btn.ink{color:var(--ink-2);background:0 0;border-color:#0000}.icon-btn.ink:hover{background:#0000000d}.tag{white-space:nowrap;background:#0000000f;border:1px solid #00000014;border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:10.5px;font-weight:700;line-height:1.4;display:inline-flex}.tag-gold{color:#8a6416;background:#dcb65838;border-color:#dcb65873}.glass .tag-gold{color:var(--gold-hi)}.glass .tag-green{color:#8ff0c0}.tag-dark{color:var(--text);background:#ffffff1a;border-color:#ffffff1f}.tag-paper{color:var(--ink-2);background:#fffaf0;border-color:#9670284d;padding:3px 9px;font-size:11.5px;font-weight:600}.tag-green{color:#1d8a4c;background:#2fae6224;border-color:#2fae624d}.segmented{border:1px solid var(--paper-line);background:#fff9;border-radius:13px;gap:3px;padding:3px;display:flex;box-shadow:inset 0 1px 3px #50370a14}.segmented button{color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:10px;flex:1;padding:9px 10px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.segmented button:hover:not(.on){color:var(--ink);background:#dcb65824}.segmented button.on{background:var(--gold-grad);color:#2a1d05;box-shadow:inset 0 1px #ffffff8c,0 2px 6px #8c5f0f40}.segmented.small button{padding:6px 9px;font-size:12.5px}.screen-top .segmented{background:#00000047;border-color:#dcb6584d}.screen-top .segmented button{color:var(--text-2)}.screen-top .segmented button.on{color:#2a1d05}.toggle-row{border-bottom:1px solid var(--paper-line);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:11px 2px;font-size:14.5px;font-weight:550;display:flex}.toggle-row:last-child{border-bottom:none}.toggle{cursor:pointer;background:#e6dcc6;border:1px solid #96702859;border-radius:999px;flex:none;width:46px;height:27px;transition:background .18s;position:relative}.toggle i{background:#fff;border-radius:50%;width:21px;height:21px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.toggle.on{background:var(--gold-grad)}.toggle.on i{transform:translate(19px)}.row-end{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.toast{left:50%;top:calc(16px + env(safe-area-inset-top));z-index:60;color:var(--gold-hi);text-align:center;border-radius:999px;max-width:calc(100vw - 32px);padding:11px 18px;font-size:14px;font-weight:600;animation:.25s toast-in;position:fixed;transform:translate(-50%)}.field-label{letter-spacing:.04em;color:var(--ink-2);margin:18px 0 8px;font-size:13px;font-weight:700}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulse{50%{opacity:.35}}.pulse{animation:1s ease-in-out infinite pulse}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(6px);background:#020c10a3;place-items:center;padding:16px;animation:.18s ease-out fade-in;display:grid;position:fixed;inset:0}.modal{background:var(--paper-grad);width:min(480px,100%);max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:var(--shadow);border-radius:22px;animation:.24s cubic-bezier(.2,.9,.3,1.2) pop-in;position:relative}.modal:focus{outline:none}.modal.wide{width:min(760px,100%)}.confirm-msg{text-align:center;margin:6px 0 4px;font-size:16px;font-weight:600}.topbar{z-index:2;justify-content:space-between;align-items:center;gap:10px;display:flex;position:relative}.lang-switch{border:1px solid var(--glass-line);background:var(--glass);border-radius:12px;flex:none;padding:3px;display:inline-flex}.lang-switch button{white-space:nowrap;height:32px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 12px;font-size:13px;font-weight:500}.lang-switch button.is-on{background:var(--gold-grad);color:#2a1e07;font-weight:700}.icon-btn.round{background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;width:38px;height:38px}.pill-btn{height:40px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000042;border:1px solid #dcb65861;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex;position:relative}.pill-btn:hover{border-color:var(--gold);background:#dcb6581f}.pill-badge{color:#fff;background:#e4291f;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:2px;padding:0 6px;font-size:12px;font-weight:700;display:inline-grid}.home{flex-direction:column;min-height:100%;display:flex}.hero{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:1080px;margin:0 auto;padding:18px 20px 8px;display:flex}.hero-mark{background:radial-gradient(circle at 50% 40%,#1f6470e6,#05141af2 70%);border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:relative;box-shadow:0 0 0 1px #e4bf6273,0 0 0 7px #e4bf6214,0 18px 50px #0000008c}.hero-mark .emblem{filter:drop-shadow(0 4px 10px #00000080);animation:30s linear infinite emblem-turn}@keyframes emblem-turn{0%,92%{transform:rotate(0)}95%{transform:rotate(6deg)}98%{transform:rotate(-3deg)}to{transform:rotate(0)}}.wordmark{font-family:var(--display);letter-spacing:-.02em;background:var(--gold-grad);color:#0000;filter:drop-shadow(0 3px 10px #00000073);-webkit-background-clip:text;background-clip:text;margin:14px 0 0;font-size:clamp(38px,7vw,62px);font-weight:800;line-height:1}.wordmark span{font-family:var(--font);letter-spacing:.55em;text-transform:uppercase;color:var(--gold);-webkit-text-fill-color:var(--gold);margin-top:6px;padding-left:.55em;font-size:12px;font-weight:700;display:block}.tagline{font-family:var(--display);color:var(--gold-hi);margin:14px 0 0;font-size:18px;font-style:italic}.hero-sub{max-width:640px;color:var(--text-2);margin:8px auto 0;font-size:14.5px}.hero-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.hero-btn{color:var(--gold-hi);cursor:pointer;background:#061e26a6;border:1px solid #e4bf6259;border-radius:999px;align-items:center;gap:8px;padding:9px 15px;font-size:13.5px;font-weight:650;transition:background .15s,border-color .15s,transform .12s;display:inline-flex;position:relative}.hero-btn:hover{background:#103c48e6;border-color:#e4bf62b3;transform:translateY(-1px)}.hero-btn .pill-badge{margin-left:2px;position:static}.hero-stats{background:#04121a80;border:1px solid #e4bf6238;border-radius:14px;gap:0;margin:20px 0 0;padding:0;display:flex;overflow:hidden}.hero-stats div{min-width:96px;padding:8px 18px}.hero-stats div+div{border-left:1px solid #e4bf6229}.hero-stats dt{font-family:var(--display);color:var(--gold-hi);font-size:22px;font-weight:800}.hero-stats dd{color:var(--text-3);letter-spacing:.04em;margin:0;font-size:11.5px}.empty-note{text-align:center;max-width:640px;color:var(--text-2);border:1px dashed #e4bf6259;border-radius:14px;margin:24px auto;padding:14px 18px}.atlas-index{grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;width:100%;max-width:1080px;margin:22px auto 0;padding:0 20px;display:grid}.atlas-tab{color:var(--text);cursor:pointer;background:#061e2699;border:1px solid #e4bf6233;border-radius:14px;flex-direction:column;align-items:stretch;gap:4px;padding:6px 6px 8px;transition:transform .14s,border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative}.atlas-tab:hover{border-color:#e4bf628c;transform:translateY(-2px)}.atlas-tab.is-on{background:var(--paper-grad);color:var(--ink);border-color:#c9a24a;box-shadow:0 10px 26px #0006,inset 0 1px #fff}.atlas-tab .thumb{border-radius:9px;width:100%;height:auto}.at-name{text-align:center;place-items:center;min-height:2.4em;font-size:12px;font-weight:700;line-height:1.2;display:grid}.at-count{color:var(--gold-hi);background:#04121abf;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:800;position:absolute;top:9px;right:9px}.atlas-tab.is-on .at-count{background:#0b2a33}.thumb{display:block}.thumb-sea{fill:#0d3a46}.thumb-land{fill:#a39672;fill-opacity:.55;stroke:#e4d6ae;stroke-opacity:.25;stroke-width:.35px}.thumb-hi{fill:#ead7a2;stroke:#6b5021;stroke-width:.35px}.thumb-pt{fill:#f6d77c;stroke:#4a320c;stroke-width:.5px}.thumb-globe{fill:none;stroke:#e4bf62;stroke-opacity:.6;stroke-width:.9px}.atlas-tab.is-on .thumb-sea,.quiz-card .thumb-sea{fill:#134654}.search-row{width:100%;max-width:1080px;margin:16px auto 0;padding:0 20px}.search-box{height:46px;color:var(--gold);background:#04121a9e;border:1px solid #e4bf6247;border-radius:14px;align-items:center;gap:10px;padding:0 14px;display:flex}.search-box:focus-within{border-color:var(--gold);box-shadow:0 0 0 4px #e4bf6226}.search-box input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:15px}.search-box input::placeholder{color:var(--text-3)}.search-clear{color:var(--text-2);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.search-box.small{height:38px;color:var(--ink-2);background:#fff9;border-color:#96702859;border-radius:11px}.search-box.small input{color:var(--ink)}.catalog{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:6px 20px 40px}.quiz-section{margin-top:26px}.sec-head{font-family:var(--display);color:var(--gold-hi);align-items:center;gap:10px;margin:0 0 12px;font-size:20px;font-weight:700;display:flex}.sec-head .md-ic{color:var(--gold)}.sec-head small{font-family:var(--font);color:var(--text-3);font-size:12px;font-weight:600}.sec-head:after{content:"";background:linear-gradient(90deg,#e4bf6266,#0000);flex:1;height:1px}.quiz-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.quiz-card{text-align:left;background:var(--paper-grad);color:var(--ink);cursor:pointer;border:1px solid #aa802c6b;border-radius:14px;align-items:center;gap:12px;padding:8px 12px 8px 8px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative;box-shadow:0 6px 16px #00000047,inset 0 1px #fff}.quiz-card:hover{border-color:#b8892e;transform:translateY(-2px);box-shadow:0 14px 30px #0000005c,inset 0 1px #fff}.qc-map{border-radius:9px;flex:none;width:84px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #6e521e59,0 1px #fff}.qc-map .thumb{width:84px;height:56px}.qc-kind{color:#7a5617;background:#fbf5e7eb;border-radius:6px;place-items:center;width:20px;height:20px;display:grid;position:absolute;bottom:3px;right:3px}.qc-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.qc-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14.5px;font-weight:750;line-height:1.25;display:-webkit-box;overflow:hidden}.qc-meta{color:var(--ink-3);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.qc-best{text-align:center;color:#1f6b44;background:#2f8c5a24;border:1px solid #2f8c5a59;border-radius:999px;flex:none;min-width:44px;padding:4px 8px;font-size:12px;font-weight:800}.qc-best.perfect{background:var(--gold-grad);color:#3b2706;border-color:#b48b31}.pips{gap:3px;display:inline-flex}.pips i{background:0 0;border:1px solid #a07a2c;width:6px;height:6px;transform:rotate(45deg)}.pips i.on{background:#b98d34}.country-chips{flex-wrap:wrap;gap:6px;display:flex}.country-chip{color:var(--text);cursor:pointer;background:#061e2699;border:1px solid #e4bf6238;border-radius:10px;align-items:center;gap:7px;padding:6px 10px 6px 7px;font-size:13px;font-weight:600;display:inline-flex}.country-chip small{color:var(--gold);font-size:11px;font-weight:800}.country-chip:hover{border-color:#e4bf6299}.country-chip.is-on{background:var(--paper-grad);color:var(--ink);border-color:#c9a24a}.country-chip.is-on small{color:#7a5617}.country-panel{background:#04121a59;border:1px dashed #e4bf6259;border-radius:16px;margin-top:12px;padding:12px}.flag{object-fit:cover;display:inline-block}.flag.mini{border-radius:3px;flex:none;width:22px;height:16.5px;box-shadow:0 0 0 1px #0000002e}.site-foot{width:100%;max-width:1080px;color:var(--text-3);text-align:center;border-top:1px solid #e4bf6226;margin:0 auto;padding:20px 20px 34px;font-size:12px}.site-foot p{margin:4px 0}@media (max-width:900px){.atlas-index{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:560px){.atlas-index{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 12px}.hero{padding:8px 14px 4px}.hero-mark{width:92px;height:92px}.hero-mark .emblem{width:78px;height:78px}.hero-stats div{min-width:70px;padding:7px 10px}.hero-stats dt{font-size:18px}.catalog,.search-row{padding-left:12px;padding-right:12px}.quiz-grid{grid-template-columns:1fr}}.topbar.title-top{max-width:1120px;margin:0 auto;padding:10px 14px 0}@media (max-width:560px){.topbar.title-top{flex-direction:column-reverse;align-items:center;gap:10px;padding-top:6px}.acc-pill{max-width:100%}.title-top-left{display:contents}.ug-home{padding:4px;position:absolute;top:6px;left:8px}.ug-home span,.share-btn span{display:none}}@media (max-width:380px){.lang-switch button{padding:0 8px}}.map-wrap{touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.map-wrap.is-dim{filter:saturate(.75)brightness(.8)}.map-svg{cursor:grab;display:block}.map-svg:active{cursor:grabbing}.sea-hi{stop-color:#155563}.sea-lo{stop-color:#071f28}.wave{stroke:#e4bf62;stroke-opacity:.07;stroke-width:1px}.ocean-waves{pointer-events:none}.sphere{fill:#0f4250;fill-opacity:.55;stroke:#e4bf6273;stroke-width:1.2px;vector-effect:non-scaling-stroke}.graticule{fill:none;stroke:#e4bf6221;stroke-width:.8px;vector-effect:non-scaling-stroke}.layer-context path{fill:#6f6a55;fill-opacity:.55;stroke:#a59c7c;stroke-opacity:.35;stroke-width:.5px;vector-effect:non-scaling-stroke;pointer-events:none}.land-bg{fill:#8d846a;fill-opacity:.72;stroke:#c8bb93;stroke-opacity:.45;stroke-width:.6px;vector-effect:non-scaling-stroke;pointer-events:none}.kind-point .land-bg,.kind-line .land-bg{fill:#e8dab4;fill-opacity:.92;stroke:#7d6a45;stroke-opacity:.7}.region{fill:#f1e4c2;stroke:#5f4a26;stroke-width:.75px;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .25s}body.borders-bold .region,body.borders-bold .kind-point .land-bg{stroke-width:1.4px}.map-svg.is-interactive .region,.map-svg.is-interactive .marker,.map-svg.is-interactive .pt,.map-svg.is-interactive .river{cursor:pointer}@media (hover:hover){.map-svg.is-hoverable .region:not(.ok1):not(.ok2):not(.ok3):not(.fail):hover,.map-svg.is-hoverable .marker:not(.ok1):not(.ok2):not(.ok3):not(.fail):hover{fill:#f6d27a}.map-svg.is-hoverable .pt:not(.ok1):not(.ok2):not(.ok3):not(.fail):hover .pt-dot{fill:#f6d27a;r:7px}.map-svg.is-hoverable .river:not(.ok1):not(.ok2):not(.ok3):not(.fail):hover .river-line{stroke:#f6d27a}}.marker{fill:#f1e4c2;stroke:#5f4a26;stroke-width:1.3px;vector-effect:non-scaling-stroke}.region.ok1,.marker.ok1{fill:#6fb57e}.region.ok2,.marker.ok2{fill:#e2be4e}.region.ok3,.marker.ok3{fill:#dc8a3c}.region.fail,.marker.fail{fill:#cf4e45}.region.target,.marker.target{fill:#59c3d8;animation:1.6s ease-in-out infinite target-pulse}.region.selected,.marker.selected{fill:#9fd6e2}.region.reveal,.marker.reveal{animation:.45s steps(2,jump-none) infinite reveal-blink}.region.flash-a,.marker.flash-a{animation:1s ease-out flash-a}.region.flash-b,.marker.flash-b{animation:1s ease-out flash-b}@keyframes target-pulse{50%{fill-opacity:.55}}@keyframes reveal-blink{0%{fill:#cf4e45}to{fill:#f1e4c2}}@keyframes flash-a{0%,40%{fill:#cf4e45;fill-opacity:.65}}@keyframes flash-b{0%,40%{fill:#cf4e45;fill-opacity:.65}}.river-hit{fill:none;stroke:#0000;stroke-linecap:round;stroke-linejoin:round}.river-line{fill:none;stroke:#2f86b8;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:stroke .25s}.river.ok1 .river-line{stroke:#3f9a55;stroke-width:3.2px}.river.ok2 .river-line{stroke:#c59a1c;stroke-width:3.2px}.river.ok3 .river-line{stroke:#cf7426;stroke-width:3.2px}.river.fail .river-line{stroke:#c63d34;stroke-width:3.2px}.river.target .river-line,.river.selected .river-line{stroke:#12c3e6;stroke-width:4.2px;animation:1.4s ease-in-out infinite river-pulse}.river.reveal .river-line{stroke:#c63d34;stroke-width:4.2px;animation:.5s steps(2,jump-none) infinite river-pulse}.river.flash-a .river-line,.river.flash-b .river-line{stroke:#c63d34}@keyframes river-pulse{50%{stroke-opacity:.4}}.pt-hit{fill:#0000}.pt-dot{fill:#fbf2d8;stroke:#3f2c0c;stroke-width:1.6px;transition:fill .2s,r .2s}.pt-core{fill:#3f2c0c}.pt.ok1 .pt-dot{fill:#6fb57e}.pt.ok2 .pt-dot{fill:#e2be4e}.pt.ok3 .pt-dot{fill:#dc8a3c}.pt.fail .pt-dot{fill:#cf4e45}.pt.target .pt-dot,.pt.selected .pt-dot{fill:#59c3d8;r:7px}.pt.reveal .pt-dot{animation:.45s steps(2,jump-none) infinite pt-blink}.pt.flash-a .pt-dot,.pt.flash-b .pt-dot{fill:#cf4e45}@keyframes pt-blink{0%{fill:#cf4e45}to{fill:#fbf2d8}}.layer-labels text{fill:#2a1e0a;paint-order:stroke;stroke:#fbf5e7eb;stroke-width:3px;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;font-weight:700}.target-ring{pointer-events:none}.target-ring .ring{fill:none;stroke:#f6d27a;stroke-width:2.4px;transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out infinite ring}.target-ring .ring-b{animation-delay:.9s}.target-ring .ring-tick{stroke:#f6d27a;stroke-width:2px;stroke-linecap:round;filter:drop-shadow(0 0 2px #0009)}@keyframes ring{0%{opacity:1;transform:scale(.35)}to{opacity:0;transform:scale(1.7)}}.map-cursor{z-index:7;pointer-events:none;will-change:transform;position:absolute;top:-20px;left:-20px}.map-cursor svg{fill:none;stroke:#f6d27a;stroke-width:2.2px;filter:drop-shadow(0 0 3px #000c);display:block}.map-cursor .dot{fill:#f6d27a;stroke:none}.map-cursor-hint{z-index:6;color:var(--gold-hi);pointer-events:none;background:#04121ad1;border:1px solid #e4bf6266;border-radius:999px;padding:5px 12px;font-size:12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.mode-outline .map-wrap{filter:blur(5px)brightness(.5)saturate(.6);pointer-events:none}.parchment{color:var(--ink);background:radial-gradient(120% 90% at 50% 0,#ffffff8c,#0000 60%),linear-gradient(#fbf3df 0%,#f0e2bf 100%);border:1px solid #966e2880;box-shadow:0 20px 50px #00000073,inset 0 0 0 4px #fbf3dfa6,inset 0 0 0 5px #966e2859}.muted{color:var(--ink-3)}.quiz-shell{height:100%;min-height:100vh;flex-direction:column;min-height:100dvh;display:flex;overflow:hidden}.quiz-top{z-index:10;background:linear-gradient(#04121af5,#061e26eb);border-bottom:1px solid #e4bf6259;flex:none;align-items:center;gap:10px;height:56px;padding:0 12px;display:flex}.qt-title{min-width:0;font-family:var(--display);color:var(--gold-hi);align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.qt-title span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.qt-right{align-items:center;gap:6px;margin-left:auto;display:flex}.icon-btn.brass{width:38px;height:38px;color:var(--gold-hi);cursor:pointer;background:linear-gradient(#284648d9,#0a2228eb);border:1px solid #e4bf6273;border-radius:11px;place-items:center;padding:0;display:inline-grid;box-shadow:inset 0 1px #ffffff1f}.icon-btn.brass:hover{border-color:var(--gold);color:#fff}.icon-btn.brass.round{border-radius:50%;width:44px;height:44px;box-shadow:inset 0 1px #ffffff26,0 6px 16px #0006}.stats{gap:4px;display:flex}.stat{height:32px;color:var(--text-2);font-variant-numeric:tabular-nums;background:#e4bf6214;border:1px solid #e4bf622e;border-radius:9px;align-items:center;gap:5px;padding:0 10px;font-size:13px;display:inline-flex}.stat b{color:var(--gold-hi)}.stat.time{color:var(--text);font-weight:650}.stat.urgent{color:#ff9a8f;border-color:#ff786e80}.progress{background:#e4bf621f;flex:none;height:3px}.progress span{background:var(--gold-grad);height:100%;transition:width .35s;display:block}.quiz-stage{flex:1;min-height:0;position:relative}.prompt-wrap{z-index:4;pointer-events:none;width:max-content;max-width:calc(100% - 24px);position:absolute;top:12px;left:50%;transform:translate(-50%)}.cartouche{color:var(--ink);background:radial-gradient(120% 120% at 50% 0,#fff9,#0000 60%),linear-gradient(#fbf3df,#ecdcb4);border:1px solid #9c7430;border-radius:6px;align-items:center;gap:14px;padding:11px 26px;animation:.3s cubic-bezier(.2,.9,.3,1.2) cartouche-in;display:flex;position:relative;box-shadow:0 14px 34px #00000080,inset 0 0 0 3px #fbf3df,inset 0 0 0 4px #9c74308c}.cartouche:before,.cartouche:after{content:"";background:linear-gradient(135deg,#f6d27a,#a67a28);border:1px solid #6b4d16;width:14px;height:14px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.cartouche:before{left:-8px}.cartouche:after{right:-8px}.cartouche.is-reveal{border-color:#b8463c}.cartouche.is-reveal .c-cap{color:#b8463c}@keyframes cartouche-in{0%{opacity:0;transform:translateY(-8px)scale(.96)}}.c-cap{letter-spacing:.04em;color:var(--ink-2);white-space:nowrap;font-size:12.5px;font-weight:700}.c-main{font-family:var(--display);align-items:center;gap:10px;font-size:26px;font-weight:800;line-height:1.1;display:inline-flex}.prompt-flag{border-radius:4px;width:auto;height:44px;box-shadow:0 0 0 1px #0003,0 3px 8px #0003}.prompt-flag.sm{height:26px}.tries{gap:5px;display:inline-flex}.tries i{border:1px solid #8a6420;width:8px;height:8px;transform:rotate(45deg)}.tries i.on{background:linear-gradient(135deg,#f6d27a,#a67a28)}.bubble{z-index:6;white-space:nowrap;pointer-events:none;color:#fff;border-radius:8px;padding:6px 12px;font-size:13.5px;font-weight:750;animation:1.3s forwards bubble;position:absolute;transform:translate(-50%,calc(-100% - 14px));box-shadow:0 6px 18px #0006}.bubble:after{content:"";background:inherit;width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.bubble.bad{background:#b8463c}.bubble.good{background:#2f8c5a}@keyframes bubble{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))scale(.9)}12%{opacity:1;transform:translate(-50%,calc(-100% - 14px))}80%{opacity:1}to{opacity:0;transform:translate(-50%,calc(-100% - 22px))}}.tooltip{z-index:6;background:var(--paper-grad);color:var(--ink);pointer-events:none;white-space:nowrap;border:1px solid #966e2880;border-radius:8px;align-items:center;gap:8px;padding:6px 11px;font-size:13px;display:flex;position:absolute;transform:translate(14px,14px);box-shadow:0 8px 22px #0006}.tooltip span{color:var(--ink-3)}.map-controls{z-index:4;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:14px;right:14px}.mode-type .map-controls{bottom:120px}.mode-choice .map-controls,.mode-outline .map-controls{bottom:170px}.mode-learn .map-controls{right:372px}.answer-panel{z-index:5;border-radius:16px;width:min(660px,100% - 24px);padding:12px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.type-row{gap:8px;display:flex}.type-row input{min-width:0;height:46px;color:var(--ink);background:#fffdf6;border:1px solid #966e2880;border-radius:11px;outline:none;flex:1;padding:0 14px;font-size:16px}.type-row input:focus{border-color:#a67a28;box-shadow:0 0 0 4px #e4bf624d}.type-row .btn{height:46px}.shake-a{animation:.4s shake-a}.shake-b{animation:.4s shake-b}@keyframes shake-a{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes shake-b{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.hint{color:var(--ink-2);margin-top:8px;padding:0 4px;font-size:13px}.choices{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice{min-height:52px;color:var(--ink);text-align:left;cursor:pointer;background:#fffdf6;border:1px solid #966e2873;border-radius:11px;align-items:center;gap:10px;padding:8px 14px;font-size:15px;font-weight:700;transition:border-color .15s,background .15s,transform .1s;display:flex;position:relative}.choice:hover:not(:disabled){background:#fff8e2;border-color:#a67a28}.choice:active:not(:disabled){transform:scale(.98)}.choice kbd{width:22px;height:22px;color:var(--ink-2);background:#a67a2824;border:1px solid #966e2866;border-radius:6px;flex:none;place-items:center;font-family:inherit;font-size:11px;display:inline-grid}.choice.wrong{opacity:.55;cursor:default;background:#b8463c14;border-color:#b8463c;text-decoration:line-through}.choice.answer{background:#2f8c5a24;border-color:#2f8c5a}.choices.flags .choice{justify-content:center;min-height:84px}.choices.flags .choice kbd{position:absolute;top:8px;left:8px}.choice-flag{border-radius:5px;width:78px;height:58px;box-shadow:0 0 0 1px #00000026}.outline-card{z-index:3;aspect-ratio:1;border-radius:50%;place-items:center;width:min(300px,70vw);animation:.35s cartouche-in;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-58%)}.outline-card svg{width:82%;height:82%}.outline-card path{fill:#3d2f17;stroke:#a67a28;stroke-width:1px}.outline-card path.reveal{fill:#b8463c}.setup-overlay{z-index:8;background:radial-gradient(circle at 50% 40%,#04121a40,#04121aa6);place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow-y:auto}.setup-card{border-radius:20px;width:min(600px,100%);padding:24px;animation:.3s cartouche-in}.setup-head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.setup-head .emblem{background:radial-gradient(circle,#1f6470,#05141a);border-radius:50%;flex:none;padding:4px}.setup-head h1{font-family:var(--display);margin:0;font-size:24px;font-weight:800;line-height:1.2}.setup-head p{color:var(--ink-3);margin:3px 0 0;font-weight:600}.setup-label{letter-spacing:.12em;text-transform:uppercase;color:#8a6420;margin:0 0 8px;font-size:11.5px;font-weight:800}.mode-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.mode-grid .mode-card:last-child{grid-column:1/-1}.mode-card{color:var(--ink);text-align:left;cursor:pointer;background:#fffdf6bf;border:1.5px solid #966e2859;border-radius:13px;align-items:flex-start;gap:11px;padding:11px 12px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative}.mode-card:hover:not(:disabled){border-color:#a67a28}.mode-card.is-on{background:#fffaf0;border-color:#a67a28;box-shadow:0 0 0 3px #e4bf6259}.mode-card:disabled{opacity:.45;cursor:not-allowed}.mode-ic{color:#7a5617;background:#a67a281f;border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.mode-card.is-on .mode-ic{color:#f6d27a;background:linear-gradient(#1f6470,#0b2a33)}.mode-text{flex-direction:column;min-width:0;display:flex}.mode-text strong{font-size:15px}.mode-text small{color:var(--ink-3);font-size:12px;line-height:1.35}.mode-best{color:#1f6b44;font-size:11px;font-weight:800;position:absolute;top:8px;right:10px}.setup-opts{background:#a67a2814;border:1px solid #966e2833;border-radius:13px;flex-direction:column;gap:2px;margin:16px 0 10px;padding:6px 14px;display:flex}.opt{justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-size:14px;font-weight:650;display:flex}.seg{background:#6e521e1a;border:1px solid #966e2840;border-radius:10px;flex-wrap:wrap;padding:3px;display:inline-flex}.seg button{height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 10px;font-size:12.5px;font-weight:700}.seg button.is-on{color:var(--ink);background:#fffdf6;box-shadow:0 1px 3px #50370a40}.opt.opt-toggle{cursor:pointer;position:relative}.opt.opt-toggle input{opacity:0;pointer-events:none;position:absolute}.opt.opt-toggle i{background:#6e521e40;border-radius:999px;flex:none;width:44px;height:26px;transition:background .2s;position:relative}.opt.opt-toggle i:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.opt.opt-toggle input:checked+i{background:#1f6470}.opt.opt-toggle input:checked+i:after{transform:translate(18px)}.opt.opt-toggle input:focus-visible+i{outline-offset:2px;outline:3px solid #e4bf6299}.setup-best{text-align:center;color:#1f6b44;margin:0 0 10px;font-size:13px;font-weight:700}.setup-card .btn-block{width:100%;margin-top:6px}.modal-back{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#020a0e80;place-items:center;padding:16px;animation:.25s fade;display:grid;position:absolute;inset:0;overflow-y:auto}@keyframes fade{0%{opacity:0}}.modal.result{text-align:center;border-radius:20px;width:min(540px,100%);max-height:calc(100% - 8px);padding:24px;animation:.35s cartouche-in;overflow-y:auto}.modal.result h2{font-family:var(--display);margin:0;font-size:28px;font-weight:800}.res-quiz{color:var(--ink-3);margin:4px 0 6px;font-weight:600}.seal{margin:8px auto 4px;position:relative}.seal svg{display:block}.seal-edge{fill:#a8322c}.seal.good .seal-edge{fill:#b9862a}.seal.great .seal-edge{fill:#2f7a4f}.seal-track{fill:none;stroke:#00000040;stroke-width:7px}.seal-value{fill:none;stroke:#f6d27a;stroke-width:7px;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.3,.8,.3,1);animation:1.1s cubic-bezier(.3,.8,.3,1) seal-in}@keyframes seal-in{0%{stroke-dashoffset:330px}}.seal-inner{fill:#0000002e;stroke:#ffe6aa59;stroke-width:1px}.seal-num{color:#fff6dc;text-shadow:0 2px 4px #00000080;grid-auto-flow:column;place-content:center;align-items:baseline;display:grid;position:absolute;inset:0}.seal-num b{font-family:var(--display);font-size:40px;font-weight:800}.seal-num span{font-size:16px;font-weight:700}.new-best{background:var(--gold-grad);color:#3b2706;border:1px solid #b48b31;border-radius:999px;margin:4px 0 6px;padding:5px 14px;font-size:13px;font-weight:800;display:inline-block}.res-stats{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:12px 0;display:grid}.res-stats div{background:#a67a281a;border:1px solid #966e2833;border-radius:11px;flex-direction:column;padding:9px;display:flex}.res-stats span{color:var(--ink-3);font-size:11.5px;font-weight:700}.res-stats b{font-variant-numeric:tabular-nums;font-size:18px}.missed{text-align:left;margin:8px 0 4px}.missed h3{align-items:center;gap:8px;margin:0 0 8px;font-size:14px;display:flex}.missed .count{color:#b8463c;background:#b8463c24;border-radius:999px;padding:1px 8px;font-size:11px}.missed ul{flex-wrap:wrap;gap:6px;max-height:150px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.missed li{background:#fffdf6;border:1px solid #966e284d;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:13px;font-weight:650;display:inline-flex}.missed li:before{content:"";background:#e2be4e;width:8px;height:8px;transform:rotate(45deg)}.missed li.fail:before{background:#cf4e45}.perfect-msg{color:#1f6b44;font-weight:700}.res-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.res-actions .btn{flex:140px}.res-actions .btn-primary{flex-basis:100%}.res-time{color:var(--ink-3);margin:10px 0 0;font-size:12px}.learn-panel{z-index:5;border-radius:16px;flex-direction:column;gap:10px;width:340px;padding:14px;display:flex;position:absolute;top:14px;bottom:14px;right:14px}.learn-hint{color:var(--ink-2);margin:0;font-size:12.5px}.info-card{background:#fffdf6;border:1px solid #966e284d;border-radius:12px;align-items:center;gap:12px;padding:10px;display:flex}.info-card h3{font-family:var(--display);margin:0;font-size:19px}.info-card p{margin:2px 0 0;font-size:13px}.info-flag{border-radius:5px;flex:none;width:64px;height:48px;box-shadow:0 0 0 1px #00000026}.learn-tools{flex-direction:column;gap:2px;display:flex}.learn-tools .opt{min-height:38px;font-size:13px}.learn-list{border-top:1px solid #966e2840;flex:1;min-height:0;margin:0;padding:6px 0 0;list-style:none;overflow-y:auto}.learn-list button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:7px 9px;font-size:14px;font-weight:650;display:flex}.learn-list button:hover{background:#a67a281a}.learn-list button.is-on{background:#1f647029}.learn-list small{color:var(--ink-3);white-space:nowrap;margin-left:auto;font-size:12px;font-weight:500}.page{min-height:100%;padding-bottom:40px}.page-head{align-items:center;gap:12px;max-width:1080px;margin:8px auto 0;padding:0 20px;display:flex}.page-head h1{font-family:var(--display);color:var(--gold-hi);margin:0;font-size:30px;font-weight:800}.sync-line{max-width:1080px;color:var(--text-2);flex-wrap:wrap;align-items:center;gap:10px;margin:8px auto 0;padding:0 20px;font-size:13px;display:flex}.sync-line .link-btn{color:var(--gold-hi)}.rec-hero,.rec-box,.rec-columns,.rec-foot,.manual-layout{max-width:1080px;margin:16px auto 0}.records-page>.empty-note{margin-top:30px}.rec-hero{border-radius:18px;align-items:center;gap:24px;margin-left:20px;margin-right:20px;padding:20px;display:flex}@media (min-width:1120px){.rec-hero,.rec-box{margin-left:auto;margin-right:auto}}.rec-tiles{flex:1;grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.rec-tile{background:#a67a281a;border:1px solid #966e2833;border-radius:11px;flex-direction:column;padding:10px;display:flex}.rec-tile.wide{grid-column:1/-1}.rec-tile span{color:var(--ink-3);font-size:11.5px;font-weight:700}.rec-tile b{font-variant-numeric:tabular-nums;font-size:19px}.rec-columns{grid-template-columns:1fr 1fr;gap:16px;padding:0 20px;display:grid}.rec-columns .rec-box{margin:0}.rec-box{border-radius:16px;margin-left:20px;margin-right:20px;padding:16px 18px}.rec-box h2{font-family:var(--display);color:#3b2a0c;align-items:center;gap:8px;margin:0 0 12px;font-size:19px;display:flex}.bars{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bars li{grid-template-columns:130px 1fr 80px;align-items:center;gap:10px;font-size:13px;display:grid}.bar-label{align-items:center;gap:6px;font-weight:700;display:inline-flex}.bar{background:#6e521e26;border-radius:999px;height:10px;overflow:hidden}.bar i{border-radius:inherit;background:linear-gradient(90deg,#1f6470,#59c3d8);height:100%;display:block}.bar-val{text-align:right;font-variant-numeric:tabular-nums;font-weight:750}.bar-val small{color:var(--ink-3);font-weight:600}.table-wrap{overflow-x:auto}.rec-table{border-collapse:collapse;width:100%;font-size:13.5px}.rec-table th{text-align:left;color:var(--ink-3);border-bottom:1px solid #966e284d;padding:6px 8px;font-size:11.5px;font-weight:800}.rec-table td{font-variant-numeric:tabular-nums;border-bottom:1px solid #966e281f;padding:7px 8px}.rec-table td.perfect{color:#8a6420;font-weight:800}.rec-table .link-btn{color:var(--ink);text-align:left;font-weight:700}.recent-list{margin:0;padding:0;list-style:none}.recent-list li{border-bottom:1px solid #966e281f;grid-template-rows:auto auto;grid-template-columns:56px 1fr;column-gap:10px;padding:8px 0;display:grid}.r-score{text-align:center;color:#1f6b44;background:#2f8c5a24;border-radius:9px;grid-row:1/3;align-self:center;padding:6px 0;font-size:15px;font-weight:800}.r-score.perfect{background:var(--gold-grad);color:#3b2706}.r-score.low{color:#a3352c;background:#b8463c1f}.r-title{font-weight:700}.r-meta{color:var(--ink-3);align-items:center;gap:4px;font-size:12px;display:inline-flex}.rec-foot{text-align:center;padding:0 20px}.rec-foot .link-btn.danger{color:#ff9a8f}.confirm-row{color:var(--text-2);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.manual-layout{grid-template-columns:240px 1fr;align-items:start;gap:16px;padding:0 20px;display:grid}.manual-toc{text-align:center;border-radius:16px;padding:16px;position:sticky;top:12px}.manual-toc .emblem{background:radial-gradient(circle,#1f6470,#05141a);border-radius:50%;padding:4px}.manual-toc ol{text-align:left;margin:12px 0 0;padding-left:20px;font-size:14px;line-height:1.9}.manual-toc a{color:var(--ink);font-weight:650;text-decoration:none}.manual-toc a:hover{color:#7a5617;text-decoration:underline}.manual-body{border-radius:16px;padding:8px 26px 20px;font-size:15px;line-height:1.75}.manual-body section{padding-top:14px;scroll-margin-top:12px}.manual-body h2{font-family:var(--display);color:#3b2a0c;border-bottom:1px solid #966e284d;margin:10px 0 6px;padding-bottom:4px;font-size:22px}.manual-body table{border-collapse:collapse;width:100%;margin:8px 0;font-size:14px}.manual-body th{text-align:left;vertical-align:top;background:#a67a281a;border:1px solid #966e2838;width:34%;padding:7px 10px}.manual-body td{border:1px solid #966e2838;padding:7px 10px}.center-msg{min-height:60vh;color:var(--text-2);text-align:center;flex:1;place-content:center;justify-items:center;gap:12px;padding:20px;display:grid}.compass-spinner .emblem{animation:2.4s cubic-bezier(.5,.1,.5,.9) infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:720px){.quiz-top{gap:6px;padding:0 8px}.qt-title{display:none}.stat{padding:0 7px}.cartouche{text-align:center;flex-wrap:wrap;justify-content:center;gap:2px 10px;padding:9px 18px}.c-cap{white-space:normal}.c-main{font-size:21px}.prompt-flag{height:36px}.map-controls{bottom:10px;right:10px}.mode-type .map-controls{bottom:140px}.mode-choice .map-controls{bottom:186px}.mode-outline .map-controls{bottom:340px}.mode-learn .map-controls{bottom:calc(42vh + 10px);right:10px}.type-row{flex-wrap:wrap}.type-row input{flex-basis:100%}.type-row .btn{flex:1}.outline-card{width:min(220px,60vw);top:42%}.choices.flags .choice{min-height:70px}.choice-flag{width:62px;height:46px}.setup-card{padding:18px}.setup-opts .opt:not(.opt-toggle){flex-direction:column;align-items:stretch;gap:6px;padding:6px 0}.setup-opts .seg{flex-wrap:nowrap}.setup-opts .seg button{flex:1;padding:0 6px}.opt.opt-toggle span{flex:1}.mode-card{flex-direction:column;gap:6px}.learn-panel{width:auto;height:42vh;inset:auto 10px 10px}.rec-hero{flex-direction:column}.rec-tiles{grid-template-columns:repeat(2,1fr)}.rec-columns{grid-template-columns:1fr}.bars li{grid-template-columns:96px 1fr 70px}.manual-layout{grid-template-columns:1fr}.manual-toc{position:static}.manual-body{padding:4px 16px 16px}}.race-strip{background:#04121ad9;border-bottom:1px solid #e4bf6240;flex:none;padding:6px 10px}.race-rival{color:var(--text);background:#061e26cc;border:1px solid #e4bf624d;border-radius:999px;align-items:center;gap:7px;padding:4px 10px 4px 5px;font-size:12.5px;display:inline-flex}.race-rival.is-done{background:#2f8c5a2e;border-color:#6fb57eb3}.race-rival.is-away{opacity:.55}.rr-name{font-weight:700}.rr-prog{color:var(--text-2)}.rr-score{color:var(--gold-hi)}.rr-badge{background:var(--gold-grad);color:#3b2706;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:800}.race-table li{border-radius:12px}.race-table li.is-me{background:#e4bf6229;box-shadow:inset 0 0 0 1px #a67a2873}.race-place{font-family:var(--display);color:#7a5617;font-size:20px;font-weight:800}.race-result .seal,.race-wait .compass-spinner{margin-left:auto;margin-right:auto}.setup-screen{justify-content:center;align-items:flex-start;display:flex}.setup{width:min(620px,100%);padding:20px 26px 24px}.back-link{margin-bottom:6px}.setup-title{font-family:var(--display);margin:6px 0 2px;font-size:30px}.setup-lead{margin:0 0 4px}.field-note{margin:8px 2px 0}.seg-piece{align-items:center;gap:6px;display:inline-flex}.seg-piece svg{width:22px;height:22px}.level-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.level-btn{border:1px solid var(--paper-line);cursor:pointer;color:var(--ink-2);background:#fff9;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:9px 4px;transition:background .15s;display:flex}.level-btn:hover:not(.on){background:#dcb65824}.level-btn.on{background:var(--gold-grad);color:#2a1d05;border-color:#b48b31;box-shadow:inset 0 1px #ffffff8c,0 2px 6px #8c5f0f40}.level-num{font-variant-numeric:lining-nums;font-family:var(--display);font-size:20px;font-weight:800;line-height:1.1}.level-name{text-align:center;font-size:11.5px;font-weight:650;line-height:1.2}.level-desc{color:var(--ink-2);min-height:2.8em;margin:10px 2px 0}.tc-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.tc-btn{border:1px solid var(--paper-line);cursor:pointer;color:var(--ink-2);background:#fff9;border-radius:12px;flex-direction:column;align-items:center;padding:8px 4px;display:flex}.tc-btn:hover:not(.on){background:#dcb65824}.tc-btn.on{background:var(--gold-grad);color:#2a1d05;border-color:#b48b31}.tc-main{font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.tc-kind{font-size:11px;font-weight:600}.name-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.name-field{border:1px solid var(--paper-line);background:#fffdf8;border-radius:12px;align-items:center;gap:8px;padding:6px 10px;display:flex}.name-field svg{flex:none;width:28px;height:28px}.name-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:none;outline:none;font-size:15px}.toggles{margin-top:10px}.start-btn{margin-top:22px}@media (max-width:520px){.setup{padding:16px 16px 20px}.level-grid,.tc-grid{grid-template-columns:repeat(4,1fr);gap:5px}.level-name{font-size:10.5px}.name-fields{grid-template-columns:1fr}}.list-screen{max-width:1180px;margin:0 auto}.page-head{align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.page-title{font-family:var(--display);color:var(--gold-hi);margin:0;font-size:clamp(28px,4vw,40px);line-height:1.1}.page-lead{color:var(--text-2);max-width:720px;margin:6px 0 0}.section-title.small-title{margin:26px 0 16px;font-size:19px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.list-card{text-align:left;cursor:pointer;font:inherit;gap:14px;padding:14px;transition:transform .18s;display:flex;position:relative}.list-card:hover{transform:translateY(-3px)}.list-card-board{border-radius:6px;flex:none;align-self:flex-start;width:116px;overflow:hidden;box-shadow:0 6px 14px #3c280a40}.list-card-body{flex-direction:column;gap:6px;min-width:0;display:flex}.list-card-year{font-family:var(--display);color:var(--gold-lo);font-size:15px;font-weight:800}.list-card-title{font-family:var(--display);font-size:19px;font-weight:700;line-height:1.2}.list-card-note{color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.puzzles-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.puzzle-card .list-card-board{width:96px}.puzzle-card.done{border-color:#2fae6299}.puzzle-card .check{color:#fff;background:linear-gradient(#5fd492,#2a9a5b);border-color:#23824c;width:22px;height:22px;top:10px;left:auto;right:10px}.viewer-head{border-bottom:1px solid var(--glass-line);flex-direction:column;gap:6px;padding:14px 16px 10px;display:flex}.viewer-title{font-family:var(--display);color:var(--gold-hi);font-size:22px;font-weight:700;line-height:1.2}.viewer-meta{color:var(--text-2)}.viewer-note{color:var(--text);opacity:.88;margin:0;font-size:13.5px}.viewer .nav-row,.viewer-nav{grid-template-columns:repeat(6,1fr);display:grid!important}.icon-btn.play{background:var(--gold-grad);color:#2a1d05;border-color:#b48b31}.puzzle-col{width:min(100dvh - 120px,720px,100vw - 420px)}.puzzle-panel{margin:0}.puzzle-goal{color:var(--gold-hi);margin:4px 0 0;font-weight:700}.puzzle-feedback{border:1px solid var(--glass-line);text-align:center;background:#ffffff0d;border-radius:12px;margin:14px 16px 0;padding:12px 14px;font-weight:650}.puzzle-feedback.good,.status-pill.good{color:#8ff0c0;background:#28a06429;border-color:#3ccf8e99}.puzzle-feedback.bad,.status-pill.bad{color:#ffb3b5;background:#c8323224;border-color:#ff78788c}.puzzle-actions{flex-direction:column;gap:8px;padding:14px 16px;display:flex}.puzzle-line{color:var(--text-2);margin:0;padding:0 16px 16px}.puzzle-line .atk{color:var(--gold-hi);font-weight:700}@media (max-width:900px){.puzzle-col,.viewer .board-col{width:min(100%,100dvh - 330px)}}@media (max-width:520px){.puzzle-col,.viewer .board-col{width:100%}}.stats-row{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px;display:grid}@media (max-width:760px){.stats-row{grid-template-columns:repeat(2,1fr)}}.stat{text-align:center;border-radius:16px;padding:14px 12px}.stat-num{font-family:var(--display);font-size:26px;font-weight:800;line-height:1.15}.stat-label{color:var(--ink-2);font-size:12px;font-weight:600}.table-card{margin-bottom:16px;padding:16px 18px}.card-title{font-family:var(--display);margin:0 0 10px;font-size:21px}.table-scroll{overflow-x:auto}.level-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.level-table th,.level-table td{text-align:center;border-bottom:1px solid var(--paper-line);white-space:nowrap;padding:8px 10px}.level-table th:first-child,.level-table td:first-child{text-align:left}.level-table th{color:var(--ink-3);font-size:12px;font-weight:700}.level-table tr.dim td{color:var(--ink-3)}.level-table .pos{color:#1d8a4c;font-weight:700}.level-table .neg{color:#b9343a;font-weight:700}.level-table tr.dim .pos,.level-table tr.dim .neg{color:var(--ink-3);font-weight:400}.recent-list{flex-direction:column;display:flex}.recent{border:none;border-bottom:1px solid var(--paper-line);text-align:left;cursor:pointer;color:var(--ink);font:inherit;background:0 0;align-items:center;gap:12px;padding:10px 6px;display:flex}.recent:hover{background:#dcb65814}.recent-badge{text-align:center;background:#ece3cf;border-radius:999px;flex:none;min-width:52px;padding:5px 8px;font-size:12.5px;font-weight:800}.recent-badge.win{background:var(--gold-grad);color:#2a1d05}.recent-badge.loss{color:#fff;background:#4a4f60}.recent-main{flex-direction:column;flex:1;min-width:0;display:flex}.recent-title{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.recent-date{flex:none}.records-foot{margin-top:14px}.rules-toc{top:calc(8px + env(safe-area-inset-top));z-index:5;border-radius:16px;flex-wrap:wrap;gap:6px;margin-bottom:18px;padding:10px;display:flex;position:sticky}.rules-toc button{cursor:pointer;color:var(--gold-hi);background:0 0;border:1px solid #dcb6584d;border-radius:999px;padding:6px 11px;font-size:13px;font-weight:600;text-decoration:none}.rules-toc button:hover{background:#dcb6581f}.rules-body{flex-direction:column;gap:16px;display:flex}.rule{padding:20px 24px;scroll-margin-top:90px}.rule h2{font-family:var(--display);margin:0 0 10px;font-size:25px}.rule-content{flex-direction:column;gap:16px;display:flex}.rule-text p,.rule-text li{color:#3a3226;font-size:15px;line-height:1.65}.rule-text p{margin:0 0 10px}.rule-text ul{margin:0 0 10px;padding-left:20px}.rule-text li{margin-bottom:4px}.rule-diagrams{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;display:grid}.rule-diagrams figure{margin:0}.rule-board{border:4px solid #3a2614;border-radius:6px;overflow:hidden;box-shadow:0 6px 16px #3c280a38}.rule-diagrams figcaption{color:var(--ink-2);margin-top:8px;font-size:12.5px;line-height:1.45}.theme-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.theme-swatch{aspect-ratio:auto;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex;position:relative;overflow:visible;container-type:normal}.theme-swatch.on{border-color:#d6a73f}.swatch-squares{aspect-ratio:1;border-radius:10px;grid-template-columns:1fr 1fr;width:100%;display:grid;overflow:hidden}.swatch-squares .sq{display:block}.swatch-piece{aspect-ratio:1;place-items:center;width:100%;display:grid;position:absolute;top:0;left:0}.swatch-piece svg{filter:drop-shadow(0 2px 2px #00000059);width:55%;height:55%}.theme-swatch .check{width:22px;height:22px;top:-6px;left:-6px}.swatch-name{color:var(--ink-2);padding-bottom:4px;font-size:11.5px;font-weight:650}.recent-title .tag{vertical-align:1px;margin-left:8px}.level-table tr.sum td{border-top:2px solid var(--paper-line)}.records-note{margin:10px 2px 0}.check{z-index:2;background:var(--gold-grad);color:#2a1d05;border:1px solid #b48b31;border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:12px;left:12px;box-shadow:0 2px 6px #0000004d}.pad-nav :is(button,a,input,select,textarea,[tabindex]):focus{outline:3px solid var(--gold-hi);outline-offset:3px;box-shadow:0 0 0 6px #dcb65847}.pad-nav .modal :is(button,a,input,select,textarea,[tabindex]):focus{outline-color:#8a5d12;box-shadow:0 0 0 6px #a87d2a40}.pad-nav .modal:focus{box-shadow:var(--shadow);outline:none}.pad-cursor{width:12.5%;height:12.5%;transform:translate(calc(var(--x) * 100%), calc(var(--y) * 100%));z-index:9;pointer-events:none;border-radius:10%;animation:1.4s ease-in-out infinite pad-cursor-glow;position:absolute;top:0;left:0;box-shadow:inset 0 0 0 max(3px,.75cqi) #ffe9a8,inset 0 0 0 max(5px,1.2cqi) #140e048c,0 0 max(6px,1.6cqi) #ffdc78d9}.board.animate .pad-cursor{transition:transform 90ms ease-out}.pad-cursor.on-sel{box-shadow:inset 0 0 0 max(3px,.75cqi) #fff,inset 0 0 0 max(5px,1.2cqi) #140e048c,0 0 max(8px,2cqi) #ffecaaf2}.pad-cursor.on-target{box-shadow:inset 0 0 0 max(3px,.75cqi) #7cf0b0,inset 0 0 0 max(5px,1.2cqi) #0628148c,0 0 max(8px,2cqi) #50e696e6}@keyframes pad-cursor-glow{50%{filter:brightness(1.18)}}@media (prefers-reduced-motion:reduce){.pad-cursor{animation:none}}.promo-choice.pad-on{z-index:1;background:radial-gradient(circle,#fff 0%,#f3c96a 100%);border-radius:12%;box-shadow:0 0 0 max(3px,.7cqi) #ffe9a8,0 4px 14px #00000073}.pad-toast{left:50%;top:calc(14px + env(safe-area-inset-top,0px));z-index:210;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-width:min(92vw,520px);color:var(--text);box-shadow:var(--shadow-2);pointer-events:none;white-space:nowrap;background:#080c1aeb;border:1px solid #dcb65873;border-radius:20px;flex-direction:column;align-items:center;gap:1px;padding:9px 22px;animation:2.4s forwards pad-toast-life;display:flex;position:fixed}.pad-toast b{color:var(--gold-hi);font-weight:750}.pad-toast span{text-overflow:ellipsis;max-width:100%;color:var(--text-2);font-size:.8em;overflow:hidden}.pad-toast.disconnect b{color:#ffc2bd}@keyframes pad-toast-life{0%{opacity:0;transform:translate(-50%,-12px)}10%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-8px)}}.sound-note{left:50%;top:calc(64px + env(safe-area-inset-top,0px));z-index:205;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:calc(100vw - 32px);color:var(--text);font:700 14px var(--font);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;box-shadow:var(--shadow-2);background:#080c1ae0;border:1px solid #f0d07199;border-radius:999px;padding:9px 18px;animation:2.4s ease-in-out infinite sound-note-pulse;position:fixed;overflow:hidden;translate:-50%}@keyframes sound-note-pulse{50%{box-shadow:var(--shadow-2), 0 0 0 4px #f0d07140}}.pad-hints{left:50%;bottom:calc(10px + var(--safe-bottom));z-index:190;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:max-content;max-width:calc(100vw - 24px);color:var(--text);pointer-events:none;background:#080c1adb;border:1px solid #dcb65866;border-radius:18px;flex-wrap:wrap;justify-content:center;gap:4px 13px;padding:7px 16px;font-size:12.5px;font-weight:600;display:flex;position:fixed;transform:translate(-50%)}.pad-hints span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.pad-hints kbd{min-width:1.8em;color:var(--gold-hi);font:700 11.5px var(--font);text-align:center;background:#ffffff1a;border:1px solid #f0d07173;border-radius:999px;margin:0;padding:1px 6px}.pad-hints.board{display:none}body.pad-board:not(:has(.modal-backdrop)) .pad-hints.board{display:flex}body.pad-board:not(:has(.modal-backdrop)) .pad-hints.menu{display:none}body.pad-nav .screen,body.pad-nav .home{padding-bottom:calc(76px + var(--safe-bottom))}body.pad-nav .modal-backdrop{padding-bottom:calc(64px + var(--safe-bottom))}body.pad-panel [data-pad-panel]{box-shadow:0 0 0 2px #dcb6588c, var(--shadow-2)}.pad-row{gap:10px;display:grid}.pad-row p{margin:0}.pad-status{border:1px solid var(--paper-line);background:#fff9;border-radius:14px;align-items:center;gap:10px;min-width:0;padding:9px 14px;display:flex}.pad-status.big{margin-top:4px;padding:12px 16px}.pad-status.pad-more{margin-top:6px;padding:6px 14px;font-size:13px}.pad-dot{background:#b9ab8c;border-radius:50%;flex:none;width:10px;height:10px}.pad-status.on .pad-dot{background:#2fb36f;box-shadow:0 0 0 3px #2fb36f38}.pad-status>div{min-width:0}.pad-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-weight:700;overflow:hidden}.pad-sub{color:var(--ink-2);margin-top:1px;font-size:12.5px}.pad-status.on .pad-sub{color:#1f8a53}.pad-note{margin:6px 0 0}.pad-pic-box{background:radial-gradient(120% 120% at 50% 0,#1c2846,#0b1122);border-radius:18px;margin:14px 0 6px;padding:12px 12px 10px;box-shadow:inset 0 0 0 1px #f0d07140}.pad-pic svg{width:100%;max-width:440px;height:auto;margin:0 auto;display:block;overflow:visible}.pad-pic .body{fill:#2a3146;stroke:#ffffff38;stroke-width:2px}.pad-pic .hub{fill:#3a4360}.pad-pic .pb rect,.pad-pic .pb circle,.pad-pic rect.pb{fill:#3a4360;stroke:#ffffff4d;stroke-width:1.5px;transition:fill 60ms,stroke 60ms}.pad-pic .pb.face.ok circle{stroke:#ff7a70;stroke-width:2.6px}.pad-pic .pb.face.back circle{stroke:#6aa6ff;stroke-width:2.6px}.pad-pic text{fill:#fff;font:800 13px var(--font);text-anchor:middle;dominant-baseline:central;pointer-events:none}.pad-pic .sh text{font-size:10.5px}.pad-pic text.sm{fill:#ffffffb3;font-size:8.5px}.pad-pic .knob{fill:#5a6585;stroke:#ffffff59;stroke-width:1.5px;transition:transform 50ms linear}.pad-pic .pb.on rect,.pad-pic .pb.on circle,.pad-pic rect.pb.on{fill:#f0cf78;stroke:#fff;filter:drop-shadow(0 0 6px #f0cf78e6)}.pad-pic .pb.on text{fill:#2a2000}.pad-last{text-align:center;min-height:1.5em;color:var(--gold-hi);margin:6px 0 0;font-size:14px;font-weight:700}.pad-tables{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 20px;margin:12px 0 4px;display:grid}.pad-roles h4{letter-spacing:.12em;color:var(--ink-2);margin:0 0 6px;font-size:12px;font-weight:700}.pad-roles dl{gap:2px;margin:0;display:grid}.pad-role{border-bottom:1px solid var(--paper-line);justify-content:space-between;align-items:center;gap:10px;padding:4px 0;display:flex}.pad-role dt{color:var(--ink);font-size:14px}.pad-role dd{flex-wrap:wrap;justify-content:flex-end;gap:4px;margin:0;display:flex}.pad-role kbd,.rule-table kbd{min-width:2em;color:var(--ink);font:700 12px var(--font);text-align:center;background:#fff;border:1px solid #6e521e4d;border-radius:999px;margin:0;padding:1px 7px;display:inline-block}.pad-tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.pad-tab{border:1px solid var(--paper-line);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.pad-tab.on{background:var(--gold-grad);color:#2a1d05;border-color:#0000}.pad-tab.here:after{content:"";background:#2fb36f;border-radius:50%;width:7px;height:7px}.pad-page{border:1px solid var(--paper-line);color:var(--ink);background:#fff;border-radius:14px;padding:12px 16px;line-height:1.7}.pad-page h4{margin:0 0 6px;font-size:15px}.pad-page ol{gap:4px;margin:0;padding-left:1.5em;font-size:14px;display:grid}.pad-page dl{margin:0;font-size:14px}.pad-page dt{margin-top:8px;font-weight:700}.pad-page dl>div:first-child dt{margin-top:0}.pad-page dd{margin:0 0 0 1em}.pad-page .note{color:var(--ink-2);margin:10px 0 0;font-size:12.5px}.pad-modal .field-label,.pad-foot{margin-top:18px}.rule-table{border-collapse:collapse;width:100%;margin:10px 0;font-size:14px}.rule-table th,.rule-table td{border-bottom:1px solid var(--paper-line);text-align:left;vertical-align:top;padding:6px 8px}.rule-table th{color:var(--ink-2);font-size:12.5px;font-weight:700}.rule-text .rule-table-wrap{overflow-x:auto}
