
/* static/site.css */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f6f8;color:#182c3b;font:16px/1.55 Inter,'Segoe UI','Noto Sans',Arial,sans-serif;--accent:#f05b2b;--soft:#fff0e9;--ink:#152e41;--muted:#667785;--line:#e1e7eb}body.loopora{--accent:#197b67;--soft:#e6f6ed;background:#f3f7f3}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}:focus-visible{outline:3px solid #6f68ed;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,3.2vw,44px);line-height:1.12;letter-spacing:-1.4px;font-weight:650}h2{font-size:25px;line-height:1.25;letter-spacing:-.5px}h3{font-size:18px;font-weight:650}p{color:var(--muted)}header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:24px;background:#fff;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font-size:25px;letter-spacing:-.7px;font-weight:750}.brand svg{width:36px;height:36px}.header-nav,.actions,.inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header-nav{gap:25px}.header-nav a{text-decoration:none;color:var(--muted);font-size:14px;white-space:nowrap}.header-nav a.active{color:var(--ink);font-weight:650}.language{border:0!important;background:transparent!important;font-size:14px;max-width:120px;width:auto!important}.btn{border:1px solid var(--line);border-radius:10px;padding:10px 17px;background:#fff;color:var(--ink);font-weight:600;font-size:14px;display:inline-flex;gap:9px;align-items:center;justify-content:center;text-decoration:none;min-height:42px;transition:background .16s,transform .16s}.btn:hover{background:#edf1f4;transform:translateY(-1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn.danger{color:#a02a28;border-color:#e8b7b7}.btn.small{padding:6px 11px;min-height:34px}.iconbtn{width:40px;padding:8px;font-size:19px}.badge{display:inline-flex;font-size:12px;letter-spacing:.04em;padding:5px 10px;border-radius:6px;background:var(--soft);color:var(--accent);font-weight:650;max-width:100%}.badge.neutral{background:#edf1f5;color:#657482}.badge.warning{background:#fff2cf;color:#805b15}.badge.red{background:#fde8e7;color:#ab3c32}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700;color:var(--accent);text-transform:uppercase}.page{max-width:1450px;margin:auto;padding:35px 4% 60px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:27px}.page-head .eyebrow{margin-bottom:10px}.page-head p{margin-top:10px;font-size:15px}.workspace{display:grid;grid-template-columns:235px minmax(350px,1fr) 240px;gap:22px;align-items:start}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.stack{display:grid;gap:18px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.card-head h3{font-size:16px}.label{font-size:14px;color:var(--muted);margin-bottom:7px;display:block}label input,label select,label textarea{display:block;margin-top:7px}input:not([type=checkbox]):not([type=range]),select,textarea{border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink);width:100%;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form{display:grid;gap:16px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric strong{display:block;font-size:28px;line-height:1.25;letter-spacing:-1px}.metric span{font-size:13px;color:var(--muted)}.line{height:1px;background:var(--line);margin:20px 0}.swatches{display:flex;gap:9px;flex-wrap:wrap}.swatch{width:33px;height:33px;border:3px solid white;border-radius:50%;box-shadow:0 0 0 1px #d7dee3}.swatch.selected{box-shadow:0 0 0 2px var(--accent)}.palette-info{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:14px}.art-image{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:10px;display:block}.caption{font-size:12px;margin-top:8px}.chart-shell{padding:0;overflow:hidden}.chart-bar{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;justify-content:space-between}.chart-bar input{border:0!important;padding:4px!important;font-weight:650}.chart-area{padding:30px 24px;background:#fbfcfd;background-image:radial-gradient(#dae1e7 .65px,transparent .65px);background-size:14px 14px;display:grid;place-items:center;min-height:412px;overflow:auto}.chart-area canvas{max-width:100%;height:auto;border:1px solid #c5ccd4;touch-action:none;box-shadow:0 14px 35px #102c4610;background:#fff}.chart-status{border-top:1px solid var(--line);padding:12px 20px;display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);background:white}.hint{padding:14px;border-radius:10px;background:#f4f6f8;font-size:13px;color:var(--muted);line-height:1.6}.hint.accent{background:var(--soft);color:var(--ink)}.progress-track{height:6px;background:#e9eef0;border-radius:6px;overflow:hidden;margin:12px 0}.progress-track i{height:100%;display:block;background:var(--accent)}.big-row{font-size:46px;letter-spacing:-2px;line-height:1.15}.big-row small{font-size:17px;letter-spacing:0;color:var(--muted)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow:auto}.tabs button{border:0;background:none;padding:11px 17px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}.tabs button.active{border-color:var(--accent);color:var(--accent)}.section{margin-top:33px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;gap:14px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.soft-card{padding:23px;border-radius:14px;background:#eaf0f4}.soft-card h3{margin:9px 0}.soft-card p{font-size:14px}.empty{padding:38px 24px;text-align:center;border:1px dashed #cad5dd;border-radius:14px;background:#fff}.empty p{margin:10px 0 18px}.preview-banner{display:flex;justify-content:center;align-items:center;padding:7px 15px;font-size:12px;background:#172f42;color:#edf4fb}.price{font-size:39px;font-weight:650;letter-spacing:-1.5px;margin:17px 0}.price small{font-size:14px;font-weight:400;letter-spacing:0;color:var(--muted)}.checkline{display:flex;align-items:flex-start;gap:10px;font-size:14px}.checkline input{margin:5px 0 0;accent-color:var(--accent);flex-shrink:0}.clean-list{padding:0;list-style:none;display:grid;gap:12px;font-size:14px;margin:20px 0}.clean-list li:before{content:'✓';color:var(--accent);margin-inline-end:10px}.feedback-card p{font-size:15px;margin:13px 0}.feedback-tags{display:flex;gap:7px;flex-wrap:wrap}.feedback-tags span{font-size:12px;padding:4px 8px;background:#eff3f5;border-radius:6px}.feedback-reply{background:var(--soft);padding:13px;border-inline-start:3px solid var(--accent);border-radius:6px;font-size:14px;margin:16px 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:start;padding:14px 12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;background:#f7f9fb}.muted{color:var(--muted)}.small-text{font-size:13px}.narrow{max-width:890px;margin:auto}.legal h2{margin:27px 0 12px}.legal p{margin-bottom:15px}.legal li{margin-bottom:10px}.game-layout{display:grid;grid-template-columns:240px minmax(360px,1fr) 260px;gap:22px}.game-panel{padding:26px;text-align:center}.loop-board{width:100%;max-width:420px;display:block;margin:12px auto 8px;touch-action:manipulation}.loop-board .edge{stroke:transparent;stroke-width:20;cursor:pointer}.loop-board .drawn{stroke:var(--accent);stroke-width:6;stroke-linecap:round}.loop-board .node{fill:#91a7a0}.loop-board text{fill:var(--ink);font-size:25px;font-weight:550;pointer-events:none}.game-visual{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:12px}.media-box{background:#e9eef3;min-height:150px;display:grid;place-items:center;padding:25px;border-radius:12px;text-align:center}.media-box iframe{width:100%;aspect-ratio:16/9;border:0}.sponsor{display:flex;justify-content:space-between;gap:25px;align-items:center;background:#132c3e;color:white;border-radius:14px;padding:24px}.sponsor p{color:#b6cbd6}.sponsor .badge{background:#ffffff15;color:#b9d5e4}footer{display:flex;justify-content:space-between;padding:28px 4%;border-top:1px solid var(--line);font-size:13px;color:var(--muted);gap:20px;flex-wrap:wrap}footer a{margin-inline-start:15px;text-decoration:none}.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:fixed;inset-inline-start:15px;top:10px;z-index:300;background:white;padding:10px;width:auto;height:auto;clip-path:none;overflow:visible}dialog{border:0;border-radius:18px;box-shadow:0 25px 100px #0e243a40;padding:35px;max-width:620px;width:calc(100% - 36px);color:var(--ink)}dialog::backdrop{background:#10263777;backdrop-filter:blur(3px)}dialog .close{position:absolute;inset-inline-end:15px;top:10px;border:0;background:none;font-size:26px;color:var(--muted)}dialog h2{margin-bottom:18px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#112e40;color:white;max-width:calc(100% - 35px);padding:13px 22px;border-radius:10px;z-index:1000;box-shadow:0 8px 35px #0b223633}#consent{position:fixed;bottom:18px;inset-inline-start:18px;max-width:420px;padding:22px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 40px #16304420;z-index:80}#consent p{font-size:14px;margin:9px 0 15px}.loading{padding:80px;text-align:center;color:var(--muted)}.error{padding:15px;background:#fde9e8;color:#8c2929;border-radius:8px}.stretch{width:100%}.row-list{display:grid;gap:12px}.row-item{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 0;border-bottom:1px solid var(--line)}.mini-bar{height:8px;background:#edf1f4;border-radius:8px;overflow:hidden}.mini-bar i{height:100%;display:block;background:var(--accent)}.danger-text{color:#a83030}textarea{min-height:105px;resize:vertical}
@media(max-width:1160px){.workspace{grid-template-columns:210px minmax(300px,1fr)}.workspace>.right-rail{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.game-layout{grid-template-columns:minmax(330px,1fr) 240px}.game-layout>.game-left{display:none}.header-nav{gap:15px}.header-nav a{font-size:13px}header{padding:0 3%;gap:12px}.page{padding:27px 3%}.brand{font-size:23px}}@media(max-width:790px){header{height:auto;min-height:78px;flex-wrap:wrap;padding:16px 5%;gap:12px}.header-nav{order:3;width:100%;overflow:auto;gap:22px;padding:4px 0}.header-nav a{font-size:14px}.page-head{align-items:flex-start;flex-direction:column;gap:16px}.page{padding:25px 5% 35px}.workspace,.game-layout{grid-template-columns:1fr}.workspace>.left-rail{order:2;display:grid;grid-template-columns:1fr 1fr;gap:15px}.workspace>.left-rail .card:last-child{display:none}.workspace>.right-rail{order:3;grid-template-columns:1fr}.workspace>.right-rail>.card:not(:first-child){display:none}.chart-shell{order:1}.chart-area{min-height:280px;padding:20px 15px}.two-col,.three-col{grid-template-columns:1fr}.game-layout>.right-rail{display:grid;grid-template-columns:1fr 1fr}.game-layout>.right-rail>.card:last-child{display:none}.form-grid{grid-template-columns:1fr}.page-head h1{font-size:34px}.language{max-width:82px}.sponsor{flex-direction:column;align-items:flex-start}.preview-banner{font-size:11px}.chart-bar{padding:14px}.card{padding:18px}.game-panel{padding:12px}.chart-status{flex-wrap:wrap}#consent{inset-inline:12px;max-width:none;bottom:12px}footer{padding:22px 5%}.game-layout .game-visual{aspect-ratio:1.5}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{header,footer,.left-rail,.right-rail,.chart-bar,.preview-banner,.actions,#consent{display:none!important}.workspace{display:block}.chart-shell{border:0}.chart-area{background:white;display:block}.chart-area canvas{max-width:100%;width:100%}.page{padding:0}}
.member-badge{background:#fff0c2!important;color:#65420c!important;border:1px solid #dcb859}.award-badge{background:#e7f2ed!important;color:#175542!important}.achievement-photo{width:100%;height:240px;object-fit:cover;border-radius:14px;margin-bottom:18px}.hall-intro{display:flex;justify-content:space-between;align-items:center;gap:28px;background:linear-gradient(120deg,#f2f5ed,#fff4e2)}.hall-intro h2{margin:14px 0}.hall-intro p{max-width:680px}.achievement-card p{overflow-wrap:anywhere}.achievement-card .actions{flex-wrap:wrap}@media(max-width:790px){.hall-intro{display:block}.hall-intro>.actions{margin-top:20px}.achievement-photo{height:220px}}

/* Language expansion and bidirectional layouts. */
html[dir="rtl"] .eyebrow,html[dir="rtl"] .badge{letter-spacing:normal}html[dir="rtl"] input[type="email"],html[dir="rtl"] input[type="url"],html[dir="rtl"] code,html[dir="rtl"] .loop-board{direction:ltr}.header-nav{flex-wrap:wrap}.header-nav a{white-space:normal}.btn{white-space:normal;overflow-wrap:anywhere}.language{min-width:84px}.chart-status,.actions{flex-wrap:wrap}h1,h2,h3,p{overflow-wrap:break-word}@media(max-width:790px){.header-nav{flex-wrap:nowrap}.header-nav a{flex-shrink:0}.language{max-width:125px}}

/* Keep translated footer links together and provide a usable touch target. */
footer>span:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:4px 15px;min-width:0}footer a{display:inline-flex;align-items:center;min-height:44px;margin-inline-start:0;max-width:100%;overflow-wrap:anywhere}footer .btn.small{min-height:44px}

/* Prevent translated card content from widening a narrow mobile grid. */
@media(max-width:790px){.workspace,.game-layout{grid-template-columns:minmax(0,1fr)}.workspace>*,.game-layout>*{min-width:0}.card-head{flex-wrap:wrap}.game-layout>.right-rail,.workspace>.left-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.game-layout>.right-rail,.workspace>.left-rail{grid-template-columns:minmax(0,1fr)}}

/* Keep intentional hidden states hidden despite layout utility classes. */
[hidden]{display:none!important}

.daily-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 24px}.difficulty-choice{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;text-decoration:none}.difficulty-choice.selected{outline:3px solid var(--brand-accent,#197b67)}#login-code{font-size:1.5rem;letter-spacing:.3em;direction:ltr}@media(max-width:640px){.daily-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.difficulty-choice{padding:15px}}

@media(max-width:790px){.game-left{order:3}.game-panel{order:1}.game-layout>.right-rail{order:2}}

.loop-board .edge{stroke-width:24px;vector-effect:non-scaling-stroke}.loop-board g:focus-visible .edge{stroke:#b8d9cd}

.player-name{font-weight:750;overflow-wrap:anywhere}.player-name-regular{color:#12616b}.player-name-member{color:#783ba1}.level-metrics{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem}.level-metrics strong{font-size:1.15em}.level-metrics-note{font-size:.8rem;line-height:1.5}

.charmorah-ad{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr);border:1px solid #eadbd1;border-radius:18px;overflow:hidden;background:#fbf5ef;color:#332b28;text-align:start;isolation:isolate}.charmorah-photo{display:block;background:#fff;min-width:0}.charmorah-photo img{display:block;width:100%;height:100%;max-height:420px;object-fit:contain}.charmorah-copy{padding:clamp(24px,4vw,54px);display:flex;align-items:flex-start;justify-content:center;flex-direction:column;min-width:0}.charmorah-label{font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:#74645a}.charmorah-brand{font:clamp(24px,3vw,38px)/1.1 Georgia,serif;letter-spacing:.1em;color:#85683f;margin-top:18px}.charmorah-rule{width:42px;height:1px;background:#af9170;margin:20px 0}.charmorah-copy h3{font:clamp(24px,3vw,36px)/1.2 Georgia,serif;max-width:22ch;margin:0 0 16px;overflow-wrap:anywhere}.charmorah-copy p{color:#685c53;line-height:1.7;max-width:44ch;margin:0 0 22px}.charmorah-cta{background:#342b27!important;color:#fff!important;border-color:#342b27!important;border-radius:4px;min-height:44px;gap:25px}.charmorah-copy small{font-size:10px;color:#74645a;margin-top:12px}.charmorah-compact{grid-template-columns:190px minmax(0,1fr)}.charmorah-compact .charmorah-copy{padding:22px 30px}.charmorah-compact .charmorah-brand{font-size:23px;margin-top:10px}.charmorah-compact h3{font-size:24px;max-width:none}.charmorah-compact .charmorah-rule{margin:12px 0}.charmorah-compact p{display:none}.charmorah-compact img{max-height:300px}#after-play-slots .charmorah-ad{grid-template-columns:1fr}#after-play-slots .charmorah-photo img{max-height:240px}@media(max-width:620px){.charmorah-ad{grid-template-columns:1fr}.charmorah-photo img{height:270px}.charmorah-copy{padding:26px}.charmorah-brand{font-size:29px}.charmorah-compact{grid-template-columns:110px minmax(0,1fr)}.charmorah-compact .charmorah-copy{padding:16px}.charmorah-compact .charmorah-brand{font-size:16px;letter-spacing:.06em}.charmorah-compact h3{font-size:20px}.charmorah-compact .charmorah-label{letter-spacing:0;font-size:9px}.charmorah-compact img{height:100%;min-height:240px}.charmorah-compact .charmorah-cta{padding:10px 14px}}

/* Keep native dropdowns readable even when the browser prefers dark controls. */
dialog{color-scheme:light;background:#ffffff;color:#152e41}
input:not([type=checkbox]):not([type=range]),select,textarea{color-scheme:light;background-color:#ffffff;color:#152e41;border-color:#9aabb6;opacity:1}
select option,select optgroup{background-color:#ffffff;color:#152e41}
select option:disabled{background-color:#f1f4f6;color:#485b6b}
select option:checked{background-color:#e4efec;color:#123129}
select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #267461;outline-offset:2px}
@media(max-width:620px){input:not([type=checkbox]):not([type=range]),select,textarea{font-size:16px}}

.sum-legend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:14px;font-size:18px;font-weight:700;color:#174637}.variant-marker{fill:#185d4c;font-weight:700}.difficulty-choice small{display:block;font-size:12px;color:#425d55}.daily-levels{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.level-metrics{flex-wrap:wrap}
@media(max-width:620px){.loop-board .edge{stroke-width:46}}

/* Mobile usability: safe dialogs and compact daily selector; all features remain available. */
.mobile-level-stats{display:none}dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}#consent{max-height:65dvh;overflow:auto;overscroll-behavior:contain}.difficulty-choice{min-width:0}
@media(max-width:620px){#header{padding:12px 16px;gap:10px;min-height:0}#header .brand{font-size:23px}#header .actions{gap:6px}#header .language{max-width:125px}#header .btn{min-height:44px;padding:8px 10px}#header .header-nav{margin:0}#header .header-nav a{padding:9px 10px;min-height:44px}.page{padding-top:15px}.page-head{margin-bottom:16px}.page-head h1{font-size:27px;line-height:1.2}.daily-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.daily-levels .difficulty-choice{padding:10px 8px;gap:3px;align-content:flex-start;min-height:76px}.difficulty-choice strong{font-size:13px;overflow-wrap:anywhere}.difficulty-choice small{font-size:11px;line-height:1.25}.difficulty-choice>span{font-size:12px}.daily-levels .level-card-metrics{display:none}.mobile-level-stats{display:block;margin:12px 0;font-size:13px}.game-panel{padding:15px}.game-panel h2{font-size:20px}.game-panel .actions{gap:6px}.game-panel .btn,.swatch,.icon-btn{min-height:44px}.swatch{min-width:44px}.game-left .game-visual{max-height:190px;object-fit:contain}.game-layout{gap:15px}.game-panel .card-head{gap:7px}.game-panel .card-head .small-text{font-size:11px}dialog{padding:20px;width:calc(100% - 20px);max-height:calc(100dvh - 20px);margin:auto}#consent{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));padding:17px}#consent p{font-size:13px;line-height:1.45}.actions .btn{min-height:44px}.page-head>.actions{width:100%;justify-content:flex-start}input,select,textarea{font-size:16px}}

.player-rules{margin:12px 0;font-size:13px}.player-rules summary{cursor:pointer;min-height:32px;font-weight:600}.player-rules p{line-height:1.6;margin-top:8px}

/* Shared membership copy is also used in review, account and help. */
.product-benefits{margin-block:18px}.product-benefits h3{font-size:1rem}.benefit-list li{padding-block:7px;line-height:1.55}.product-benefits .small-text{margin-block:10px}.member-account-benefits h2{margin-block-end:14px}.product-benefits,.member-account-benefits{overflow-wrap:anywhere}

.archive-guide p{margin-bottom:18px}.archive-guide form{align-items:end}.archive-guide input{min-height:44px;max-width:100%}.archive-guide .label{min-width:0}.archive-guide~.section h2{margin-bottom:16px}.support-request{padding:18px 0;border-bottom:1px solid #ddd;overflow-wrap:anywhere}.support-text{white-space:pre-wrap;margin-block:12px}

/* 51.LA report is a normal footer link, with no remote badge request. */
footer .la51-report{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:4px 10px;border:1px solid currentColor;border-radius:8px;font-weight:700;white-space:nowrap;margin-inline:6px}.la51-notice{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.la51-privacy{max-width:850px}

/* Optional purchase content: no fixed widths or oversized grids on phones. */
.pack-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-block:18px}
.pack-preview,.rule-example{margin:0;min-width:0}
.pack-preview img{display:block;width:100%;height:auto;aspect-ratio:1;image-rendering:pixelated;border-radius:8px}
.pack-preview figcaption{font-size:12px;overflow-wrap:anywhere;margin-block-start:6px}
.sample-instructions{margin-block:16px}.sample-instructions>summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;overflow-wrap:anywhere}
.rule-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-block:16px}
.rule-example img{display:block;width:100%;max-width:320px;height:auto;margin-inline:auto}
.rule-example figcaption{overflow-wrap:anywhere;line-height:1.6}
@media(max-width:620px){.rule-example-grid{grid-template-columns:minmax(0,1fr)}.pack-preview-grid{gap:8px}}

/* Native disclosure keeps every difficulty available without filling the first mobile screen. */
.daily-selector{margin:0 0 20px;border:1px solid var(--line);border-radius:14px;padding:0 16px;background:var(--paper,#fff)}.daily-selector>summary{cursor:pointer;min-height:44px;padding:12px 0;overflow-wrap:anywhere}.daily-selector>summary .badge{margin-inline-start:10px;white-space:normal}.daily-selector .daily-levels{margin:8px 0 16px}.daily-selector>summary:focus-visible,.workspace-jump:focus-visible{outline:3px solid var(--brand-accent);outline-offset:3px}@media(max-width:600px){.daily-selector{padding:0 12px;margin-bottom:14px}.daily-selector>summary .badge{display:inline-block;margin-inline-start:6px}}


/* static/practice.css */
.practice-unit{max-width:640px;margin:auto}.practice-unit p{margin:16px 0}.practice-unit .actions{flex-wrap:wrap}.practice-unit [aria-pressed=true]{outline:2px solid var(--brand-accent);outline-offset:2px}.practice-unit [hidden]{display:none!important}.practice-unit .btn{min-height:44px}#practice-board{max-width:430px;margin:16px auto}#practice-board .loop-board{width:100%;max-width:100%}.practice-entry{margin:0 0 18px}.practice-unit [data-practice-edge]:focus-visible .edge{stroke:#e6ae49}

.practice-learning h2,.practice-takeaway h2{font-size:1.1rem;margin:12px 0 8px}.practice-learning p{margin:8px 0}.practice-learning details{font-size:.9rem}.practice-learning summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.5em}.practice-learning summary::before{content:"+"}.practice-learning details[open] summary::before{content:"−"}.practice-takeaway{margin:16px 0;padding:16px;border:1px solid var(--brand-accent);border-radius:12px}


/* static/loop-reasoning.css */
.loop-reasoning{max-width:100%;min-width:0;overflow-wrap:anywhere}.loop-reasoning [data-lr-diagram]{max-width:100%;margin:14px 0}.loop-reasoning svg{display:block;width:184px;max-width:100%;height:auto;background:#fff;border:1px solid #52746b;border-radius:10px}.loop-reasoning .lr-base{stroke:#b1c7bf;stroke-width:3}.loop-reasoning .lr-line{stroke:#145e45;stroke-width:6;stroke-linecap:round}.loop-reasoning .lr-cross{fill:#733819;font:22px sans-serif;text-anchor:middle}.loop-reasoning .lr-target{stroke:#a54d09;stroke-width:3;stroke-dasharray:5 4}.loop-reasoning .lr-node{fill:#244f40}.loop-reasoning .lr-clue{fill:#163b31;font:21px sans-serif;text-anchor:middle}.loop-reasoning [data-lr-explanation]{line-height:1.65;max-width:65ch}.loop-reasoning .lr-legend{line-height:1.65}.loop-reasoning select,.loop-reasoning button,.loop-reasoning summary{min-height:44px;max-width:100%}.loop-reasoning select{display:block;margin-top:8px;width:min(100%,480px)}.loop-reasoning summary:focus-visible{outline:3px solid #a54d09;outline-offset:3px}


/* static/player-progress.css */
/* Prepared mobile/RTL component; still needs the original visual QA gate. */
.player-progress{min-width:0;padding:1rem;border:1px solid var(--border,#718096);border-radius:.8rem;overflow-wrap:anywhere}
.player-progress p{margin-block:.6rem;line-height:1.55}
.player-progress-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.player-progress button,.player-progress summary{min-height:44px;min-width:44px;padding:.65rem .8rem;font:inherit;white-space:normal;cursor:pointer}
.player-progress button{border:1px solid #718096;border-radius:.5rem;background:#173653;color:#fff}
.player-progress button:disabled{background:#eef1f5;color:#596575;cursor:default}
.player-progress button:focus-visible,.player-progress summary:focus-visible{outline:3px solid #ffae42;outline-offset:3px}
.player-level{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem;padding:.25rem .55rem;border:1px solid currentColor;border-radius:1rem;background:#fff;font-size:.875rem}
.player-level-beginner{color:#334155}.player-level-explorer{color:#166534}.player-level-solver{color:#1d4ed8}.player-level-expert{color:#6b21a8}.player-level-master{color:#92400e}
@media(max-width:480px){.player-progress-actions button{flex:1 1 100%}.player-progress{padding:.75rem}}

/* Candidate hint controls; balances belong in private controls. */
.hint-panel{margin-block-start:1rem}.hint-panel button{min-height:44px;max-inline-size:100%;white-space:normal}.hint-panel label{display:block}.hint-history-item{padding-block:1rem;border-block-end:1px solid var(--line,#ced9d4);overflow-wrap:anywhere}.hint-history-item p{margin-block:.35rem}#hint-exchange select{min-height:44px;max-inline-size:100%;color:#183b53;background:#fff}#hint-exchange .checkline{display:flex;align-items:flex-start;gap:.5rem;margin-block:1rem}#hint-exchange .checkline input{flex:0 0 auto}.loop-board [data-hint-focus] .edge{stroke:#8256b9;stroke-width:14;stroke-opacity:.7}


/* static/digital-gifts.css */
.digital-gifts p{margin-block:10px}.digital-gift-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin-block-start:18px}.digital-gift-grid article{min-width:0;padding:16px;border:1px solid var(--line,#d5dfe3);border-radius:12px;overflow-wrap:anywhere}.digital-gift-grid .btn{min-height:44px;max-width:100%;white-space:normal;text-align:center}.digital-gifts a:focus-visible{outline:3px solid #07665b;outline-offset:3px}

.digital-activities .actions{flex-wrap:wrap}.digital-activities .reward-confirmation{padding:16px;border:2px solid var(--brand-accent,#183b53);border-radius:12px;margin-block:16px}.digital-activities button:focus-visible{outline:3px solid #07665b;outline-offset:3px}.digital-activities .reward-status{overflow-wrap:anywhere}


/* static/study-reader.css */
.study-reader{color:#182b40;background:#fff;max-width:min(52rem,calc(100vw - 24px));width:52rem;max-height:calc(100dvh - 24px);padding:16px;border:1px solid #bacada;border-radius:14px;overflow:auto;box-sizing:border-box;overflow-wrap:anywhere}.study-reader::backdrop{background:#162b3aaa}.study-reader-close{position:sticky;inset-block-start:0;z-index:1;background:#fff}.study-reader h2{line-height:1.35}.study-reader p,.study-reader li{line-height:1.7}.study-reader li{margin-block:12px}.study-reader ol{padding-inline-start:24px}.study-reader figure{margin:16px 0}.study-reader img{display:block;width:100%;height:auto;max-width:42rem;margin:auto;background:#fff}.study-reader details{border:1px solid #bacada;border-radius:8px;margin-block:12px}.study-reader details>div{padding:12px}.study-reader summary,.study-reader button,.study-reader select{min-height:44px}.study-reader summary{cursor:pointer;padding:12px;font-weight:650}.study-reader-language{display:block;margin-block:12px}.study-reader select{max-width:100%;background:#fff;color:#182b40;border:1px solid #63788b;padding:8px}.study-reader :is(button,summary,select):focus-visible{outline:3px solid #07665b;outline-offset:3px}.digital-gift-grid .study-reader-open{margin-block-start:10px;width:100%}


/* static/activity-view.css */
.special-activity{width:100%;max-width:840px;min-width:0;margin:24px auto;overflow-wrap:anywhere}.special-activity *{box-sizing:border-box}.special-activity [hidden]{display:none!important}.special-activity h2{margin-top:0}.special-activity .sa-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}.special-activity button,.special-activity select{min-height:44px;max-width:100%;padding:10px 14px;border:1px solid #52746b;border-radius:10px;background:#f6fbf8;color:#133c31;font:inherit;cursor:pointer}.special-activity button:disabled{opacity:.55;cursor:default}.special-activity button:focus-visible,.special-activity select:focus-visible{outline:3px solid #a54d09;outline-offset:3px}.special-activity select{width:min(100%,480px)}.special-activity select option{background:#f6fbf8;color:#133c31}.special-activity .sa-board-frame{width:100%;max-width:100%;overflow:auto;overscroll-behavior:contain;border:1px solid #52746b;border-radius:14px;background:#fff;color:#163b31;margin:12px 0;scrollbar-gutter:stable}.special-activity .sa-board-frame svg{display:block;width:var(--sa-board-width,392px);max-width:none;min-width:100%;height:auto;touch-action:pan-x pan-y}.special-activity .sa-board-frame[data-large=true] svg{width:calc(var(--sa-board-width,392px)*1.55)}.special-activity .sa-edge-base{stroke:#b1c7bf;stroke-width:3}.special-activity .sa-edge-line{stroke:#145e45;stroke-width:6;stroke-linecap:round}.special-activity .sa-edge-cross{fill:#733819;font:22px sans-serif;text-anchor:middle;pointer-events:none}.special-activity .sa-edge-hit{fill:transparent}.special-activity .sa-edge-hint{stroke:#a54d09;stroke-width:8;stroke-dasharray:5 4;pointer-events:none}.special-activity [data-sa-edge]:focus-visible .sa-edge-base{stroke:#a54d09;stroke-width:8}.special-activity .sa-clue{fill:#163b31;font:21px sans-serif;text-anchor:middle;pointer-events:none}.special-activity .sa-node{fill:#244f40;pointer-events:none}.special-activity .sa-status{min-height:1.6em;font-weight:600}.special-activity .sa-warning{border-inline-start:4px solid #a54d09;padding:10px 14px;background:#fff7df;color:#593609}.special-activity .sa-completion{border-inline-start:4px solid #145e45;padding:12px 14px;background:#eef8f2;color:#133c31}.special-activity details{margin:14px 0}.special-activity summary{min-height:44px;padding:12px 0;cursor:pointer}.sa-confirm{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #52746b;border-radius:14px;padding:20px;background:#fff;color:#133c31}.sa-confirm::backdrop{background:#10282099}.sa-confirm .sa-actions{display:flex;flex-wrap:wrap;gap:12px}.sa-confirm button{min-height:44px;padding:10px 14px;color:#133c31;background:#f6fbf8;border:1px solid #52746b;border-radius:8px;font:inherit}.sa-confirm button:focus-visible{outline:3px solid #a54d09;outline-offset:3px}@media(max-width:480px){.special-activity{margin:16px 0}.special-activity .sa-actions button{flex:1 1 125px}.special-activity .sa-actions{gap:8px}.special-activity h2{font-size:1.4rem}.special-activity .sa-warning{padding:10px}}

.special-activity-entry{min-width:0;overflow-wrap:anywhere}.special-activity-entry h2{margin-top:0}.special-activity-entry .sa-discovery-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;list-style:none;margin:16px 0;padding:0}.sa-discovery-list li{min-width:0}.sa-discovery-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:44px;width:100%;max-width:100%;padding:16px;text-align:start;overflow-wrap:anywhere;border:1px solid #52746b;border-radius:12px;background:#f6fbf8;color:#133c31;font:inherit;cursor:pointer}.sa-discovery-card span{font-size:.9em}.sa-discovery-card[aria-pressed=true]{border:2px solid #145e45;background:#eef8f2}.sa-discovery-card:focus-visible,.special-activity-entry>details>summary:focus-visible{outline:3px solid #a54d09;outline-offset:3px}.special-activity-entry>details>summary{min-height:44px;padding:12px 0;cursor:pointer}@media(max-width:480px){.special-activity-entry .sa-discovery-list{grid-template-columns:1fr;gap:10px}.sa-discovery-card{padding:12px}}


/* static/easter-chain.css */
.easter-chain{margin:20px 0;padding:18px;border:1px solid #52746b;border-radius:14px;background:#f6fbf8;color:#133c31;min-width:0;overflow-wrap:anywhere}.easter-chain *{box-sizing:border-box}.easter-chain [hidden]{display:none!important}.easter-chain h3{margin-top:0}.easter-chain .ec-stars{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;list-style:none;padding:0;margin:16px 0}.ec-stars li{min-width:0;padding:14px;border:1px solid #52746b;border-radius:10px;background:#fff}.ec-stars strong,.ec-star-state{display:block}.ec-star-state{margin-top:8px;min-height:1.4em}.ec-stars p{min-height:0}.easter-chain button{min-height:44px;max-width:100%;padding:10px 14px;border:1px solid #52746b;border-radius:8px;background:#fff;color:#133c31;font:inherit;text-align:start;cursor:pointer}.easter-chain button:disabled{opacity:.55;cursor:default}.easter-chain button:focus-visible{outline:3px solid #a54d09;outline-offset:3px}.easter-chain .ec-actions{display:flex;flex-wrap:wrap;gap:10px}.ec-status{min-height:1.6em;font-weight:600}@media(max-width:480px){.easter-chain{padding:12px}.easter-chain .ec-stars{grid-template-columns:1fr}.easter-chain .ec-actions button{flex:1 1 145px}.ec-stars li{padding:12px}}


/* static/consent-banner.css */
/* Visible consent choice, independent from the small footer report badge. */
#consent{inset-inline-start:auto;inset-inline-end:20px;bottom:max(20px,env(safe-area-inset-bottom));width:min(560px,calc(100vw - 40px));max-width:560px;box-sizing:border-box;padding:22px;max-height:70dvh;overflow:auto}
#consent[hidden],#consent [hidden]{display:none!important}
#consent h3{margin:0;font-size:20px;line-height:1.3}
#consent p{font-size:14px;line-height:1.5;margin:10px 0}
#consent .cookie-details{font-size:14px;margin:8px 0 12px}
#consent .cookie-details summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px;width:fit-content;padding:6px 2px}
#consent .cookie-adult{margin:12px 0;min-height:32px;align-items:center}
#consent .cookie-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
#consent .cookie-actions .btn{min-height:44px;flex:1 1 auto;padding:10px 16px;font-size:14px;white-space:normal;line-height:1.35}
#consent .cookie-actions .btn.primary{font-weight:700}
#consent .cookie-signal{color:var(--muted);font-size:13px}
#consent :focus-visible{outline:3px solid var(--brand-accent,#183b53);outline-offset:3px}
@media(max-width:620px){#consent{inset-inline:10px;width:auto;max-width:none;bottom:max(10px,env(safe-area-inset-bottom));padding:17px;max-height:72dvh}#consent h3{font-size:18px}#consent p{font-size:13px}#consent .cookie-actions{gap:8px}#consent .cookie-actions .btn{padding:10px 12px}}


/* static/content-placement.css */

/* One contextual ad per page; quiet, bounded, normal-flow placement. */
.content-ad-stack{gap:32px}.content-ad-stack:empty{display:none}
.content-ad-stack .charmorah-ad{grid-template-columns:minmax(100px,180px) minmax(0,1fr);max-width:780px;margin:24px auto;width:100%;align-items:center}
.content-ad-stack .charmorah-photo img{height:200px;max-height:200px;object-fit:contain}
.content-ad-stack .charmorah-copy,.content-ad-stack .charmorah-compact .charmorah-copy{padding:16px 22px}
.content-ad-stack .charmorah-brand,.content-ad-stack .charmorah-compact .charmorah-brand{font-size:20px;margin-top:6px}
.content-ad-stack .charmorah-rule{display:none}
.content-ad-stack .charmorah-copy h3,.content-ad-stack .charmorah-compact h3{font-size:22px;margin:8px 0 12px;max-width:none}
.content-ad-stack .charmorah-copy p,.content-ad-stack .charmorah-copy small{display:none}
.content-ad-stack .charmorah-label{overflow-wrap:anywhere}
.content-ad-stack .charmorah-cta{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;gap:12px}
.content-ad-stack .sponsor{max-width:780px;margin:24px auto;padding:20px;width:100%;min-width:0;overflow-wrap:anywhere}
.hint-shop-options{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.hint-shop-options .player-progress-actions{display:flex;gap:10px;flex-wrap:wrap}
.hint-shop-options button{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:620px){.content-ad-stack .charmorah-ad,.content-ad-stack .charmorah-compact{grid-template-columns:92px minmax(0,1fr);margin:18px auto}
.content-ad-stack .charmorah-photo img,.content-ad-stack .charmorah-compact img{height:140px;max-height:140px;min-height:0}
.content-ad-stack .charmorah-copy,.content-ad-stack .charmorah-compact .charmorah-copy{padding:12px}
.content-ad-stack .charmorah-brand,.content-ad-stack .charmorah-compact .charmorah-brand{font-size:15px;letter-spacing:.04em}
.content-ad-stack .charmorah-copy h3,.content-ad-stack .charmorah-compact h3{font-size:18px;margin:7px 0 10px}
.content-ad-stack .charmorah-label{font-size:9px;letter-spacing:0}
.content-ad-stack .sponsor{gap:14px;margin:18px auto;padding:16px}}


/* static/community-sharing.css */
.community-invite{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;background:linear-gradient(125deg,#e6f2ee 0%,#faf5eb 65%,#f6e1d4 100%);border-color:#cbdcd2}
.community-invite h2{margin:12px 0}.community-invite .actions{max-width:310px;justify-content:flex-start}
.community-gallery>.card-head{align-items:center;margin-bottom:20px;gap:12px;flex-wrap:wrap}
.community-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.community-result-card{padding:0;overflow:hidden;min-width:0}.community-result-copy{padding:22px}.community-result-copy h3{margin:16px 0 10px;overflow-wrap:anywhere}
.community-photo{display:block;width:100%;height:220px;object-fit:contain;background:#f0f2ef}
.community-result-art{height:110px;display:grid;place-items:center;color:#197b67;font-size:54px;background:radial-gradient(circle at 25% 60%,#c7e6da,transparent 50%),linear-gradient(130deg,#f7edda,#dfefea)}
.community-post-text{white-space:pre-wrap;overflow-wrap:anywhere}.community-video{display:flex;align-items:center;gap:12px;min-height:60px;margin:12px 0;padding:16px;background:#eff4f0;overflow-wrap:anywhere}
.community-video span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#197b67;color:white;flex-shrink:0}
.community-composer h2{margin:14px 0 20px}.community-composer fieldset{border:0;padding:0;min-width:0}.community-composer input,.community-composer select,.community-composer textarea{min-width:0;max-width:100%}
.community-composer .checkline{align-items:flex-start}.community-composer .checkline input{margin-top:5px;flex-shrink:0}.community-composer [data-community-result]{overflow-wrap:anywhere}
#community-sharing .btn{min-height:44px;white-space:normal;max-width:100%;overflow-wrap:anywhere}.community-gallery [data-community-paging]{margin-top:16px}
.community-columns{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.community-columns>section,.community-columns>aside{min-width:0}
@media(max-width:900px){.community-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-invite{grid-template-columns:1fr}.community-invite .actions{max-width:none}}
@media(max-width:620px){.community-result-grid,.community-columns{grid-template-columns:minmax(0,1fr)}.community-invite{padding:22px}.community-invite .actions{display:grid;grid-template-columns:1fr;width:100%}.community-photo{height:200px}.community-composer .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.community-composer .checkline{overflow-wrap:anywhere}.community-gallery h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){#community-sharing{scroll-behavior:auto}}

/* Inline reviewed pictures and consent-gated players. No external thumbnails. */
.community-post-photo{display:block;max-width:100%;width:auto;height:auto;max-height:480px;object-fit:contain;margin:16px auto;border-radius:12px;background:#e4e9e7}
.community-inline-video{position:relative;aspect-ratio:16/9;min-height:240px;overflow:hidden;border-radius:12px;margin:16px 0 8px;background:#122c32;color:#fff}
.community-inline-video iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0}
.community-video-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;padding:20px;text-align:center}
.community-video-choice>span{font-size:32px}.community-video-choice p{font-size:14px;line-height:1.5;margin:0}.community-video-choice .btn{background:#fff;color:#173c42}
.community-video-fallback{display:inline-block;margin:0 0 12px;text-decoration:underline;overflow-wrap:anywhere}
@media(max-width:620px){.community-inline-video{min-height:270px}.community-post-photo{max-height:350px}}

/* Native chooser semantics, with visible labels from the website locale. */
.community-file-picker{display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-width:0;max-width:100%}
.community-file-select{position:relative;flex:0 1 auto;min-width:44px;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#community-sharing .community-file-select input.community-file-input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}
.community-file-select:focus-within{outline:3px solid currentColor;outline-offset:3px}
[data-community-file-name]{flex:1 1 150px;min-width:0;overflow-wrap:anywhere;font-size:.875rem;font-weight:400}
@media(forced-colors:active){.community-file-select{border:1px solid ButtonText}.community-file-select:focus-within{outline-color:Highlight}}

/* Local compressed preview: bounded, removable, never uploaded by selection. */
.community-photo-preview{margin:8px 0;max-width:100%;min-width:0}
.community-photo-preview img{display:block;width:auto;max-width:100%;max-height:200px;object-fit:contain;border-radius:12px}
.community-photo-preview figcaption{margin-top:8px;overflow-wrap:anywhere}
.community-remove-photo{min-width:44px;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;justify-self:start}
.community-photo-preview[hidden],.community-photo-preview img[hidden],.community-remove-photo[hidden]{display:none}


/* static/daily-board.css */
.daily-save-note{margin-block:16px;padding:12px;border:1px solid #b8d5cc;border-radius:12px;background:#f3faf7;overflow-wrap:anywhere;text-align:start}.daily-save-note p{margin:0 0 6px;font-size:.9rem}.daily-save-note small{color:#476058;line-height:1.5;display:block}.daily-save-note .actions{margin-block-start:12px;flex-wrap:wrap}.daily-save-note button{min-height:44px}.daily-save-conflict{border-color:#c79c48;background:#fff8e8}


/* static/player-entry.css */
/* Same board, compact local-progress entry; no motion or decorative assets. */
.loopora .experience-page[data-experience-view=workspace]>.page-head{min-height:0;padding-block:22px;gap:18px}
.loopora .experience-page[data-experience-view=workspace]>.page-head h1{font-size:clamp(28px,3vw,40px);margin-block:6px 10px}
.loopora .experience-page[data-experience-view=workspace]>.page-head .actions{flex-wrap:wrap}
.loopora .experience-page[data-experience-view=workspace]>.page-head .btn{min-height:44px;white-space:normal;overflow-wrap:anywhere}
#puz-draft-status:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:620px){.loopora .experience-page[data-experience-view=workspace]>.page-head{padding:16px;gap:12px}.loopora .experience-page[data-experience-view=workspace]>.page-head h1{font-size:26px}.loopora .experience-page[data-experience-view=workspace]>.page-head .btn{padding:10px 12px}}


/* static/game-hub.css */
.puzuni-game-hub{width:92%;max-width:1440px;margin:28px auto 0;color:#163b40}.puzuni-game-hub header{background:transparent;padding:0;min-height:0;border:0;box-shadow:none;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.puzuni-game-hub h2{font-size:clamp(22px,2.3vw,30px);font-weight:700;line-height:1.3;margin:0}.puzuni-game-hub #game-hub-all{white-space:nowrap;min-height:44px;border-radius:10px;padding:10px 16px;border:1px solid #a5c4b8;background:white;color:#205b4e;cursor:pointer;font:inherit}.puzuni-game-hub nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:14px}.puzuni-game-hub a{color:inherit;text-decoration:none;background:#fff;border:1px solid #d5e3df;border-radius:18px;padding:20px;display:flex;align-items:flex-start;gap:14px;min-height:150px;box-shadow:0 5px 15px #12333b05}.puzuni-game-hub a:hover{background:#f2f8f4;border-color:#4b8777}.puzuni-game-hub a:focus-visible{outline:3px solid #cf975f;outline-offset:3px}.puzuni-game-hub a[aria-current=page]{border-color:#267a68;background:#eaf4ed}.puzuni-game-hub .hub-icon{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:12px;background:#e6efdf;color:#216252;font-size:25px;font-weight:700}.puzuni-game-hub strong{display:block;font-size:17px;line-height:1.4;margin:0 0 8px}.puzuni-game-hub .hub-rule{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.7;color:#526d68}.puzuni-game-hub .hub-code{display:block;font-size:10px;letter-spacing:.12em;color:#617b76;margin-top:9px}.puzuni-game-hub[hidden]{display:none!important}.game-picker{width:min(1000px,calc(100% - 24px));max-height:90dvh;overflow:auto;padding:24px;border:1px solid #b8cfc5;border-radius:20px;color:#163b40;background:#f8fbf9}.game-picker::backdrop{background:#10342e80}.picker-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.picker-heading h2{margin:0}.picker-close{font-size:26px;min-width:44px;min-height:44px;border:0;border-radius:10px;background:white;cursor:pointer}.picker-filters{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:12px}.picker-filters input,.picker-filters select{width:100%;min-height:46px;padding:10px;border:1px solid #b8cfc5;border-radius:10px;font:inherit}.picker-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.picker-tabs button[aria-pressed=true]{background:#1d6858;color:white}.picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.picker-grid article{position:relative;border:1px solid #ccddd4;border-radius:14px;background:white}.picker-grid a{display:block;min-height:145px;padding:18px 44px 18px 18px;color:inherit;text-decoration:none}.picker-grid a[aria-current=page]{background:#e7f3eb;border-radius:14px}.picker-grid strong{display:block;margin-bottom:8px}.picker-grid a span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.6;color:#526d68}.picker-star{position:absolute;inset-inline-end:5px;top:7px;min-width:38px;min-height:44px;border:0;background:transparent;color:#99702a;font-size:25px;cursor:pointer}.picker-paging{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.picker-paging button{min-height:44px;padding:9px 14px;border:1px solid #bbd0c6;background:white;border-radius:10px;font:inherit;cursor:pointer}.picker-status{font-size:13px}.picker-grid a:focus-visible,.picker-star:focus-visible,.picker-paging button:focus-visible{outline:3px solid #cf975f;outline-offset:2px}@media(min-width:641px){.puzuni-game-hub nav[data-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:750px){.picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.puzuni-game-hub{margin-top:20px}.puzuni-game-hub nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.puzuni-game-hub a{padding:15px 12px;min-height:166px;gap:9px;flex-direction:column}.puzuni-game-hub .hub-icon{width:34px;height:34px;font-size:21px}.puzuni-game-hub strong{font-size:15px;margin-bottom:5px}.puzuni-game-hub .hub-rule{font-size:12px}.puzuni-game-hub #game-hub-all{padding:8px;font-size:13px}.puzuni-game-hub a:last-child:nth-child(odd){grid-column:1/-1;flex-direction:row;align-items:center;min-height:105px}.game-picker{padding:18px}.picker-filters{grid-template-columns:1fr}.picker-grid{gap:8px}.picker-grid a{padding:14px 34px 14px 12px;min-height:155px}.picker-grid strong{font-size:15px}.picker-grid a span{font-size:12px}.picker-tabs .btn{padding:8px 10px}}

@media(min-width:1180px){.puzuni-game-hub nav[data-count="6"]{grid-template-columns:repeat(6,minmax(0,1fr))}.puzuni-game-hub nav[data-count="6"] a{flex-direction:column;padding:16px;gap:8px;min-height:175px}.puzuni-game-hub nav[data-count="6"] strong{font-size:16px;overflow-wrap:anywhere}.puzuni-game-hub nav[data-count="6"] .hub-icon{width:32px;height:32px;font-size:21px}}

/* Keep search/filter results inside a stable dialog, including empty results. */
.game-picker[open]{display:flex;flex-direction:column;height:min(780px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);overflow:hidden}.game-picker .picker-heading,.game-picker .picker-filters,.game-picker .picker-tabs,.game-picker .picker-paging{flex-shrink:0}.game-picker .picker-grid{flex:1;min-height:0;overflow:auto;align-content:start}.game-picker .picker-paging{margin-top:14px}

/* The phone directory is a readable list with a compact, non-scrolling tool area. */
.game-picker[open]{height:min(780px,calc(var(--picker-height,100dvh) - 24px));max-height:calc(var(--picker-height,100dvh) - 24px)}
.game-picker .picker-grid{overscroll-behavior:contain;scroll-padding:4px}.game-picker .picker-star{min-width:44px}.game-picker .picker-status:empty{display:none}.game-picker .picker-status{flex-shrink:0;margin:6px 0 0}
@media(max-width:640px){.game-picker[open]{box-sizing:border-box;width:calc(100% - 16px);height:min(780px,calc(var(--picker-height,100dvh) - 16px));max-height:calc(var(--picker-height,100dvh) - 16px);padding:14px;border-radius:18px}.game-picker .picker-heading{gap:10px;margin-bottom:10px}.game-picker .picker-heading h2{font-size:22px;line-height:1.25}.game-picker .picker-close{width:44px;height:44px;min-width:44px;flex:none}.game-picker .picker-filters{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px;margin-bottom:8px}.game-picker .picker-filters input,.game-picker .picker-filters select{box-sizing:border-box;min-width:0;min-height:44px;padding:8px;font-size:16px;line-height:1.25}.game-picker .picker-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:12px}.game-picker .picker-tabs .btn{box-sizing:border-box;min-width:0;min-height:44px;margin:0;padding:6px 4px;font-size:13px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}.game-picker .picker-grid{grid-template-columns:minmax(0,1fr);gap:8px;padding:3px;scrollbar-gutter:stable}.game-picker .picker-grid article{min-width:0;border-radius:12px}.game-picker .picker-grid a{box-sizing:border-box;min-height:88px;padding:12px 58px 12px 12px}.game-picker .picker-grid strong{font-size:16px;line-height:1.3;margin-bottom:4px;overflow-wrap:anywhere}.game-picker .picker-grid a span{font-size:13px;line-height:1.45;-webkit-line-clamp:2}.game-picker .picker-star{top:8px;inset-inline-end:7px;width:44px;min-height:44px}.game-picker .picker-paging{gap:8px;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid #d5e3df}.game-picker .picker-paging button{min-height:44px;padding:7px 10px;font-size:13px}.game-picker [data-range]{font-size:13px;white-space:nowrap}[dir=rtl] .game-picker .picker-grid a{padding:12px 12px 12px 58px}}

@media(max-width:640px){.puzuni-game-hub{margin-top:16px}.puzuni-game-hub header{gap:10px;margin-bottom:10px;align-items:center}.puzuni-game-hub h2{font-size:20px;line-height:1.3}.puzuni-game-hub nav{gap:8px}body .puzuni-game-hub nav[data-count] a,.puzuni-game-hub a:last-child:nth-child(odd){box-sizing:border-box;min-height:76px;padding:11px 10px;gap:9px;flex-direction:row;align-items:center;border-radius:12px}.puzuni-game-hub .hub-icon{width:30px;height:30px;border-radius:9px;font-size:20px}.puzuni-game-hub nav a>span:last-child{min-width:0;flex:1}.puzuni-game-hub strong{font-size:14px;line-height:1.25;margin:0;overflow-wrap:anywhere}.puzuni-game-hub .hub-rule,.puzuni-game-hub .hub-code{display:none}.puzuni-game-hub #game-hub-all{font-size:12px;min-height:44px;padding:7px;white-space:normal;max-width:100px}.new-game-hints .btn{max-width:100%;white-space:normal;min-height:44px}}


/* static/game-workspace.css */
/* Board-specific rules only. Original header, typography, cards and footer stay native. */
.new-game-choice{display:flex;align-items:center;gap:16px;padding:12px;margin-bottom:20px}.new-game-choice .btn{min-width:160px}.new-game-actions{flex-wrap:wrap}#newgame-scope .play-heading{display:flex;flex-wrap:wrap;gap:12px}#newgame-scope .play-heading .share-challenge{font:inherit;color:inherit;border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:white;min-height:44px;cursor:pointer}#newgame-scope .archive-picker{display:flex;align-items:center;gap:8px;font-size:12px}#newgame-scope .archive-picker input{width:auto;max-width:155px;min-height:42px}#newgame-scope #board{min-height:310px;overflow:auto;display:grid;justify-content:center;align-content:center;padding:18px 4px}#newgame-scope #board table{border-collapse:separate;border-spacing:0;width:auto;margin:auto}#newgame-scope #board th{padding:4px;min-width:24px;font-size:13px;font-weight:600;text-align:center}#newgame-scope #board td{padding:0;border:0}#newgame-scope .cell{width:44px;min-height:44px;background:#fff;border:1px solid #b7c9c1;margin:0;padding:0;border-radius:0;font-size:17px;font-weight:700;font-family:inherit;cursor:pointer}#newgame-scope .cell.filled{background:var(--brand-accent,#126854);color:white;border-color:#155d50}#newgame-scope .cell:focus-visible{outline:3px solid #d39959;outline-offset:-3px}#newgame-scope .rect-grid{display:grid;margin:auto;border:1px solid #71988a}#newgame-scope .selected{outline:3px solid #cc8846;outline-offset:-3px}#newgame-scope #board>svg{width:min(100%,380px);min-width:270px;margin:auto;display:block}#newgame-scope #board svg line{stroke:#216e61;stroke-width:4;stroke-linecap:round}#newgame-scope #board svg circle{fill:white;stroke:#216e61;stroke-width:2}#newgame-scope #board svg circle.selected{fill:#f4d6b0}#newgame-scope #board svg text{fill:#173f3b;text-anchor:middle;font-size:18px;pointer-events:none}#newgame-scope #board svg .cross{font-size:20px;fill:#96a8a0}#newgame-scope #status{min-height:1.5em;margin:14px 0;color:#16584c}#newgame-scope .new-game-hints{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#f4f9f7}#newgame-scope .new-game-hints h3{margin-bottom:12px}#newgame-scope .hint-button{min-height:44px;padding:10px 14px;border-radius:10px;cursor:pointer}#newgame-scope .side-card p{margin-top:12px}#newgame-scope #moves{text-align:center}.lesson{width:min(620px,calc(100% - 24px));max-height:85dvh;overflow:auto;padding:28px;border:1px solid #c5d5cd;border-radius:18px;color:#163f3b;background:white}.lesson::backdrop{background:#12352b60}.lesson h2{margin:0 28px 14px 0}.lesson p{line-height:1.7}.lesson-close{position:absolute;inset-inline-end:12px;top:10px;border:0;background:transparent;font-size:25px;cursor:pointer;min-width:44px;min-height:44px}.lesson input[type=url]{width:100%;min-height:44px;padding:10px}.lesson #lesson-board{margin:18px 0;display:grid;gap:10px}.lesson #lesson-board button{min-width:44px;min-height:44px;font:inherit;cursor:pointer}.lesson #lesson-reset{min-height:44px;padding:10px 18px;border-radius:10px;border:1px solid #c5d5cd;background:#eff6f2;cursor:pointer}.learn-button{font:inherit;border:1px solid #bbd0c5;border-radius:10px;background:#edf6f1;min-height:44px;padding:10px 16px;cursor:pointer}#newgame-scope [aria-pressed=true]:focus-visible{outline:3px solid #d39959;outline-offset:2px}@media(max-width:600px){#newgame-scope #board{padding-inline:0}#newgame-scope .cell{width:38px;min-height:42px}#newgame-scope .rect-grid .cell{width:44px}#newgame-scope .play-heading{gap:8px}.new-game-choice{gap:8px}.new-game-choice .btn{min-width:120px}}

#newgame-scope #board.hanoi-board{display:block;width:100%}


/* static/la51-icon.css */
/* Official decorative badge sits among footer links; no vendor request. */
footer>span:last-of-type{display:flex;align-items:center;flex-wrap:wrap;gap:4px 15px;min-width:0}
footer .la51-report{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:18px;height:18px;border:0;padding:0;margin:0;border-radius:0}
footer .la51-report img{display:block;width:18px;height:18px;max-width:100%;object-fit:contain}


footer a.la51-report:focus-visible{outline:2px solid currentColor;outline-offset:3px}


/* static/brand-experience.css */
/* Two original visual systems. Core canvases, consent and payment contracts stay native. */
body.knitora{--accent:#b54425;--brand-accent:#b54425;--soft:#f9e8d9;--ink:#292b42;--muted:#626273;--line:#ded8d0;--experience-night:#29243e;background:#f6f1e9;color:var(--ink)}
body.loopora{--accent:#126854;--brand-accent:#126854;--soft:#e4f3e9;--ink:#162d36;--muted:#586b72;--line:#d4e2dd;--experience-night:#102f38;background:#edf4f1;color:var(--ink)}
body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
#header{background:var(--experience-night);color:#fff;border:0;box-shadow:0 4px 20px #10253412;gap:20px;padding-block:15px;position:relative;z-index:2}
#header .brand{color:#fff;font-weight:850;letter-spacing:-.8px}
#header .header-nav{gap:4px;flex-wrap:wrap}
#header .header-nav a{color:#dce4e7;min-height:44px;border-radius:9px;padding:10px 12px}
#header .header-nav a:hover,#header .header-nav a.active{color:#fff;background:#ffffff18}
#header .language{border:1px solid #ffffff55;color:#fff;background:var(--experience-night);border-radius:9px;min-height:44px}
#header .btn{background:#fff;color:var(--experience-night);border-color:#fff}
.experience-page{max-width:1500px;padding-top:28px}
.experience-page .page-head{position:relative;isolation:isolate;background:var(--experience-night);color:#fff;border-radius:24px;padding:32px 34px;min-height:190px;gap:26px;overflow:hidden;margin-bottom:24px;align-items:center;box-shadow:0 12px 30px #10253412}
.experience-page .page-head>div{position:relative;z-index:1;min-width:0}
.experience-page .page-head>div:first-child{max-width:710px}
.experience-page .page-head h1{font-size:clamp(30px,3.5vw,48px);line-height:1.08;letter-spacing:-1.4px;color:#fff;margin:10px 0 14px;text-wrap:balance}
.experience-page .page-head p{color:#e0e4e9;font-size:16px;line-height:1.65;max-width:640px}
.experience-page .page-head .eyebrow{color:#ffc99d;font-size:11px;letter-spacing:1.7px}
.loopora .experience-page .page-head .eyebrow{color:#b6f2b7}
.experience-page .page-head::after{content:"";position:absolute;z-index:0;inset-block:0;inset-inline-end:0;width:38%;opacity:.12;pointer-events:none;background:repeating-linear-gradient(45deg,transparent 0 18px,#ffc99d 18px 32px,transparent 32px 50px),repeating-linear-gradient(-45deg,transparent 0 18px,#ffc99d 18px 32px,transparent 32px 50px);mask-image:linear-gradient(90deg,transparent,#000)}
.loopora .experience-page .page-head::after{background:radial-gradient(circle,#b6f2b7 0 4px,transparent 5px) 0 0/48px 48px,repeating-linear-gradient(90deg,transparent 0 44px,#b6f2b7 44px 48px) 24px 24px/96px 48px;transform:rotate(-12deg) scale(1.3)}
.experience-page .page-head .btn{background:#fff;color:var(--experience-night);border-color:#fff;box-shadow:0 3px 0 #0002}
.experience-page .page-head .btn.primary{background:#ffd3aa;border-color:#ffd3aa;color:#392b28}
.loopora .experience-page .page-head .btn.primary,.loopora .experience-page .page-head .workspace-jump{background:#b6f2b7;border-color:#b6f2b7;color:#17352d}
.experience-page .card{border-radius:20px;border-color:var(--line);box-shadow:0 5px 22px #14273705;min-width:0}
.experience-page h2,.experience-page h3{letter-spacing:-.45px;line-height:1.25}
.experience-page h2{font-size:24px}
.experience-page p,.experience-page .small-text{line-height:1.65}
.experience-page .btn{border-radius:11px;min-height:44px;font-weight:700;transition:background-color .16s,box-shadow .16s,transform .16s}
.experience-page .btn:hover:not(:disabled){box-shadow:0 4px 12px #132c3820;transform:translateY(-1px)}
.experience-page .btn:active:not(:disabled){transform:translateY(1px)}
.experience-page :is(a,button,summary,input,select,textarea,canvas):focus-visible,#header :is(a,button,select):focus-visible{outline:3px solid #be691e;outline-offset:4px}
.loopora .experience-page :is(a,button,summary,input,select,textarea):focus-visible{outline-color:#287eae}
.experience-path{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:0;list-style:none}
.experience-path a{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 15px;background:#fff;border:1px solid var(--line);border-radius:50px;color:var(--ink);font-size:13px;text-decoration:none;font-weight:650}
.experience-path a span{display:grid;place-items:center;width:25px;height:25px;background:var(--soft);border-radius:50%;font-variant-numeric:tabular-nums;color:var(--accent)}
.experience-page .workspace{grid-template-columns:230px minmax(300px,1fr) 230px;gap:20px;align-items:start}
.experience-page .chart-shell{border-color:#b7a895;box-shadow:0 12px 35px #3e2e4014;overflow:hidden;padding:0}
.experience-page .chart-bar{background:#fffdf9;padding:18px;gap:12px}
.experience-page .chart-bar input{font-size:16px;font-weight:750;min-width:0}
.experience-page .chart-bar .actions{flex-wrap:nowrap}
.experience-page .chart-area{min-height:0;padding:24px;background-color:#ede7dc;background-image:radial-gradient(#a69a8633 1px,transparent 1px);background-size:12px 12px}
.experience-page #chart{box-shadow:0 8px 22px #29243e26;border-radius:3px;display:block;margin:auto;max-height:640px;width:auto;max-width:100%;object-fit:contain}
.experience-page .chart-status{background:#fffdf9;padding:15px 18px;gap:10px;flex-wrap:wrap;font-size:12px}
.experience-page .big-row{font-size:64px;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-3px;color:var(--experience-night)}
.experience-page .progress-track{height:9px;background:#ece5db;border-radius:20px;overflow:hidden;margin-top:12px}
.experience-page .progress-track i{border-radius:20px;background:var(--accent);transition:width .2s ease}
.experience-page .swatch{border-radius:14px;min-height:44px;min-width:44px}
.experience-page .swatch.selected{outline:3px solid var(--accent);outline-offset:3px}
.experience-page :is(#project-setup,#project-palette,#row-tracker,#chart,#game-board){scroll-margin-top:20px}
.experience-page .knit-catalog-entry{background:#eee5da;border-color:#d8c9b6}
.experience-page .game-layout{grid-template-columns:205px minmax(320px,1fr) 240px;gap:20px;align-items:start}
.experience-page .game-panel{border:1px solid #a8c3b7;box-shadow:0 12px 35px #143a3520;padding:26px;background:#fff}
.experience-page .game-panel>.card-head{padding-bottom:16px;border-bottom:1px solid var(--line)}
.experience-page .game-panel>h2{margin-top:20px}
.experience-page #game-board{margin-block:14px;border-radius:18px;background:#f7faf8;background-image:radial-gradient(#d1ded533 .7px,transparent .7px);background-size:9px 9px}
.experience-page .loop-board{max-width:470px;display:block;margin:auto}
.experience-page .loop-board .node{fill:#718d83}
.experience-page .loop-board .drawn{stroke:#126854;stroke-width:7;filter:drop-shadow(0 1px 2px #12685425);animation:experience-edge-in .16s ease-out}
.experience-page .loop-board [data-edge]:is(:hover,:focus-visible) .edge{stroke:#b6dccc88}
.experience-page .loop-board [data-edge]:focus-visible{outline:0}
.experience-page .loop-board [data-edge]:focus-visible .edge{stroke:#8abfdb;stroke-dasharray:4 4}
.experience-page .daily-selector{border-radius:16px;box-shadow:0 3px 10px #143a3505}
.experience-page .difficulty-choice{border-radius:14px}
.experience-page .difficulty-choice.selected{border:2px solid var(--accent);background:#e7f5eb}
.experience-rules{border-block:1px solid var(--line);margin-block:14px;padding:4px 0;font-size:13px}
.experience-rules summary{cursor:pointer;font-weight:750;min-height:44px;align-content:center}
.experience-rules ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:4px 0 14px;counter-reset:rule}
.experience-rules li{counter-increment:rule;line-height:1.5;background:#edf5f0;padding:12px;border-radius:10px}
.experience-rules li::before{content:counter(rule,decimal-leading-zero);display:block;font-weight:800;color:var(--accent);margin-bottom:5px}
.experience-page .metric strong{font-size:44px;letter-spacing:-1.7px;color:var(--accent)}
.experience-page .player-progress{border-radius:16px;background:#f4f9f5}
.experience-page[data-experience-view=shop]>.three-col{align-items:stretch;gap:18px}
.experience-page[data-experience-view=shop]>.three-col>.card{display:flex;flex-direction:column;border-top:4px solid var(--accent);padding:26px}
.experience-page[data-experience-view=shop]>.three-col>.card>.btn{margin-top:auto}
.experience-page[data-experience-view=shop] .price{font-size:36px;line-height:1.3;letter-spacing:-1px;margin-block:18px}
.experience-page[data-experience-view=shop] .price small{display:block;font-size:12px;letter-spacing:0;line-height:1.5;color:var(--muted)}
.experience-page .hint-shop-options{background:#eaf4ed;border-radius:12px;padding:15px;margin-top:16px}
.experience-page .community-sharing .community-experience,.experience-page .community-sharing .community-public-item{border-radius:16px;border-color:var(--line)}
#footer{border-top:1px solid var(--line);background:#fffdf9;color:var(--ink);padding-block:26px;line-height:1.7}
@keyframes experience-edge-in{from{opacity:.4}to{opacity:1}}
@media(min-width:1180px){.loopora .experience-page[data-experience-view=shop]>.three-col{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1179px){.experience-page .workspace{grid-template-columns:205px minmax(0,1fr)}.experience-page .workspace>.right-rail{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.experience-page .game-layout{grid-template-columns:minmax(0,1fr) 230px}.experience-page .game-left{display:none}.experience-page[data-experience-view=shop]>.three-col{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-page .page-head{flex-wrap:wrap;min-height:0}}
@media(max-width:790px){.experience-page .workspace,.experience-page .game-layout{display:flex;flex-direction:column}.experience-page .workspace>.chart-shell,.experience-page .game-panel{order:0;width:100%}.experience-page .workspace>.left-rail{order:1;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.experience-page .workspace>.right-rail{order:2;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.experience-page .game-layout>.right-rail{width:100%;order:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.experience-page .chart-area{padding:18px}.experience-page .page-head{padding:25px}.experience-page .page-head::after{width:50%}}
@media(max-width:620px){#header{padding:12px 16px;gap:10px}#header .brand{font-size:23px}#header .header-nav{flex-wrap:nowrap}#header .header-nav a{white-space:nowrap}#header .language{max-width:125px}.experience-page{padding:18px 14px 40px}.experience-page .page-head{border-radius:18px;padding:24px 20px;gap:18px;margin-bottom:18px}.experience-page .page-head h1{font-size:33px;letter-spacing:-.9px;line-height:1.12}.experience-page .page-head p{font-size:14px;line-height:1.55}.experience-page .page-head .eyebrow{font-size:10px;letter-spacing:1px}.experience-page .page-head .actions{gap:8px}.experience-page .page-head .btn{font-size:12px;padding:10px 12px}.experience-path{gap:6px;margin-bottom:14px}.experience-path a{padding:6px 9px;font-size:11px;gap:5px}.experience-path a span{width:22px;height:22px}.experience-page .card{border-radius:16px}.experience-page .chart-bar{padding:12px;gap:8px}.experience-page .chart-bar input{width:100%}.experience-page .chart-bar .btn{padding:8px;min-width:44px}.experience-page .chart-area{padding:12px}.experience-page .chart-status{font-size:11px;padding:12px}.experience-page .workspace>.left-rail,.experience-page .workspace>.right-rail,.experience-page .game-layout>.right-rail{grid-template-columns:minmax(0,1fr)}.experience-page .game-panel{padding:16px}.experience-page .game-panel>h2{font-size:20px}.experience-page #game-board{margin-block:8px}.experience-rules ol{grid-template-columns:minmax(0,1fr);gap:8px}.experience-rules li{display:flex;gap:10px;padding:10px}.experience-rules li::before{margin:0}.experience-page[data-experience-view=shop]>.three-col{grid-template-columns:minmax(0,1fr)}.experience-page[data-experience-view=shop]>.three-col>.card{padding:22px}.experience-page .price{font-size:32px}.experience-page .btn:hover:not(:disabled){transform:none}}
@media(prefers-reduced-motion:reduce){.experience-page *,.experience-page *::before,.experience-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.experience-page .page-head,#header{background:Canvas;color:CanvasText;border:1px solid CanvasText}.experience-page .page-head :is(h1,p,.eyebrow),#header :is(a,.brand){color:CanvasText}.experience-page .page-head::after{display:none}.experience-page .loop-board .drawn{stroke:CanvasText}.experience-page .loop-board .node{fill:CanvasText}}
@media print{#header,.experience-page .page-head::after,.experience-path{display:none}.experience-page .page-head{color:#000;background:#fff;box-shadow:none}.experience-page .page-head :is(h1,p,.eyebrow){color:#000}.experience-page .card{box-shadow:none}}

/* Keep the first phone screen compact; navigation remains scrollable and every action stays available. */
@media(max-width:620px){#header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 6px;padding:12px 14px}#header .brand{font-size:20px;gap:7px;min-width:0}#header .brand svg{width:30px;height:30px;flex-shrink:0}#header>.actions{flex-wrap:nowrap;gap:5px}#header .language{width:77px;padding:6px;font-size:12px}#header>.actions>.btn{font-size:11px;padding:8px;max-width:111px;white-space:normal}#header .header-nav{grid-column:1/-1;order:2;min-width:0;width:100%;margin:0;scrollbar-width:thin}#header .header-nav a{font-size:12px;padding:8px 10px}.experience-page .page-head{padding:20px 18px;gap:14px}.experience-page .page-head h1{font-size:30px;margin:8px 0 10px}.experience-page .page-head .actions{margin-top:0}.experience-page .game-panel>h2{margin-top:14px}}

/* Fit the longer brand beside native language/account controls on narrow screens. */
@media(max-width:620px){#header .brand{font-size:18px;gap:6px}#header .brand svg{width:26px;height:26px}#header .language{min-width:0}}


/* static/purchase-entry.css */
/* Puzuni only: visible commerce entry, without changing the original navigation. */
.loopora #header .header-nav a[data-view="shop"]{background:#c4edcb;color:#123b37;border:1px solid #a4dcb4;border-radius:10px;box-shadow:0 0 0 1px #d9f4df20;font-weight:750}.loopora #header .header-nav a[data-view="shop"]:hover{background:#e0f7dd;color:#0c302c}.loopora #header .header-nav a[data-view="shop"].active{background:#f4dda4;border-color:#e3c074;color:#392f16}.loopora #header .header-nav a[data-view="shop"]:focus-visible{outline:3px solid #f4dda4;outline-offset:3px}.hint-purchase{margin-inline-start:8px;margin-block:8px;border:1px solid #267b67;background:#fff;color:#165847;min-height:44px;font-weight:650}.loopora select,.loopora select option{color-scheme:light}.loopora select option{background-color:#fff;color:#163c43}#checkout-form select{background:#fff;color:#163c43;color-scheme:light}#checkout-form select option{background:#fff;color:#163c43}@media(max-width:600px){.hint-purchase{margin-inline-start:0;display:block;width:100%}.loopora #header .header-nav a[data-view="shop"]{border-radius:8px}}


/* static/promotions.css */
.site-promotion{color:#123e42;background:#e0f1dd;border-bottom:1px solid #b9d5be;min-height:54px;font-size:14px;font-weight:600}
.promotion-inner{max-width:1440px;margin:auto;padding:5px 24px;display:flex;align-items:center;gap:14px;min-height:54px;box-sizing:border-box}
.promotion-dot{color:#966823;font-size:21px;flex:none}
.promotion-viewport{min-width:0;overflow:hidden;flex:1;cursor:pointer;mask-image:linear-gradient(90deg,transparent,#000 6px,#000 calc(100% - 6px),transparent)}
.promotion-track{display:flex;gap:6rem;width:max-content;animation:promotion-scroll var(--promotion-seconds,32s) linear infinite}
.promotion-track>span{white-space:nowrap;line-height:1.5}
.promotion-cta{color:#0d453c;background:#fff;border:1px solid #91bda0;border-radius:9px;padding:10px 14px;white-space:normal;min-height:44px;max-width:38%;box-sizing:border-box;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;line-height:1.3;flex:none}
.promotion-pause{width:44px;height:44px;flex:none;border:1px solid #abcab2;border-radius:9px;background:transparent;color:inherit;font-size:16px;cursor:pointer}
.promotion-viewport:focus-visible,.promotion-cta:focus-visible,.promotion-pause:focus-visible{outline:3px solid #92681d;outline-offset:2px}
.site-promotion.is-paused .promotion-track{animation-play-state:paused}
@keyframes promotion-scroll{to{transform:translateX(calc(-50% - 3rem))}}
[dir=rtl] .promotion-track{direction:rtl;animation-name:promotion-scroll-rtl}
@keyframes promotion-scroll-rtl{to{transform:translateX(calc(50% + 3rem))}}
@media(max-width:900px){
 .site-promotion{font-size:13px;min-height:0}
 .promotion-inner{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:4px 8px;padding:6px 12px;min-height:0}
 .promotion-dot{display:none}
 .promotion-viewport{grid-column:1/-1;grid-row:1;min-height:22px;align-content:center}
 .promotion-cta{grid-column:1;grid-row:2;justify-self:start;min-height:44px;padding:8px 12px;max-width:100%;font-size:13px}
 .promotion-pause{grid-column:2;grid-row:2;justify-self:end}
 .promotion-inner:not(:has(.promotion-cta)) .promotion-viewport{grid-column:1}
 .promotion-inner:not(:has(.promotion-cta)) .promotion-pause{grid-row:1}
}
@media(prefers-reduced-motion:reduce){
 /* Explicit play is the sole opt-in exception to the site's motion reset. */
 .site-promotion.is-manual-motion .promotion-track{animation:promotion-scroll var(--promotion-seconds,32s) linear infinite!important}
 [dir=rtl] .site-promotion.is-manual-motion .promotion-track{animation-name:promotion-scroll-rtl!important}
 .site-promotion.is-manual-motion.is-paused .promotion-track{animation-play-state:paused!important}
 .site-promotion:not(.is-manual-motion) .promotion-track{animation:none;width:auto;display:block}
 .site-promotion:not(.is-manual-motion) .promotion-track>span{white-space:normal;overflow-wrap:anywhere}
 .site-promotion:not(.is-manual-motion) .promotion-track>span+span{display:none}
 .site-promotion:not(.is-manual-motion) .promotion-viewport{mask-image:none}
}
html.loading-init .site-promotion{visibility:hidden}


/* static/profile-avatar.css */
.account-avatar-small{width:28px;height:28px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-inline-end:7px}.profile-avatar-editor{margin:12px 0 20px;padding:14px;background:#f4f8f5;border:1px solid #d6e3dc;border-radius:12px}.profile-avatar-editor h4{margin:0 0 12px}.profile-avatar-preview{display:block;width:96px;height:96px;object-fit:cover;border-radius:50%;margin:0 0 12px}.profile-avatar-preview[hidden]{display:none}.avatar-file-label{position:relative;max-width:100%;cursor:pointer;display:inline-flex;align-items:center;min-height:44px}.avatar-file-label input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.avatar-file-label:focus-within{outline:3px solid #cf975f;outline-offset:2px}.profile-avatar-editor .actions{flex-wrap:wrap}.profile-avatar-editor .btn{min-height:44px;white-space:normal}.profile-avatar-editor [role=status]{overflow-wrap:anywhere}@media(max-width:640px){.profile-avatar-editor{padding:12px}.profile-avatar-editor .actions{display:grid;grid-template-columns:1fr 1fr}}


/* static/play-first.css */
/* Preserve the original shell; reserve the small-screen first view for play. */
#header .compact-navigation{display:contents}#header .compact-navigation>summary{display:none}
.new-game-secondary-tools{margin:10px 0;border:1px solid var(--line);border-radius:10px;padding:0 12px}.new-game-secondary-tools>summary{cursor:pointer;min-height:44px;align-content:center;font-size:13px}.new-game-secondary-tools .archive-picker{margin:10px 0;justify-content:flex-start!important;flex-wrap:wrap}.new-game-secondary-tools .share-challenge{font:inherit;min-height:44px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 12px;margin:8px 0}
.game-rules-row{display:flex;align-items:flex-start;gap:10px;margin:6px 0}.game-rules-row>.experience-rules{flex:1;min-width:0}.game-rules-row>#new-game-lesson{min-height:44px;margin:6px 0;flex-shrink:0}
@media(max-width:1100px){
 #header{height:auto!important;min-height:68px!important;padding:8px 3%!important;display:grid!important;grid-template-columns:minmax(82px,1fr) 44px minmax(0,1.85fr);gap:6px!important;align-items:center}
 #header .brand{font-size:19px!important;gap:6px}#header .brand svg{width:28px;height:28px}
 #header>.actions{justify-content:flex-end;gap:4px;flex-wrap:nowrap;min-width:0}#header .language{max-width:82px;font-size:12px!important;padding:5px 0!important;min-height:44px}#header #account-button{font-size:11px;line-height:1.25;min-height:44px;padding:6px 8px;max-width:110px}
 #header .compact-navigation{display:block;position:relative;align-self:center}#header .compact-navigation>summary{display:grid;place-items:center;list-style:none;min-width:44px;min-height:44px;border:1px solid #4b6e72;border-radius:10px;color:inherit;cursor:pointer;font-size:23px}#header .compact-navigation>summary::-webkit-details-marker{display:none}
 #header .compact-navigation:not([open]) .header-nav{display:none!important}#header .compact-navigation[open] .header-nav{position:absolute;z-index:80;inset-block-start:50px;inset-inline-start:50%;transform:translateX(-50%);display:grid!important;grid-template-columns:1fr;gap:4px;margin:0;padding:10px;width:min(280px,80vw);max-height:65dvh;overflow:auto;background:#12343d;border:1px solid #41676d;border-radius:12px;box-shadow:0 12px 30px #092c3b44}
 #header .header-nav a{min-height:44px;padding:10px 12px;font-size:14px;color:#f0f7f5;white-space:normal}
 body:has(.game-layout) .puzuni-game-hub{margin:8px auto 0;width:94%}body:has(.game-layout) .puzuni-game-hub header{margin:0!important;gap:10px!important;height:auto;padding:0;min-height:44px}body:has(.game-layout) .puzuni-game-hub h2{font-size:16px;line-height:1.25}body:has(.game-layout) .puzuni-game-hub nav{display:none}body:has(.game-layout) .puzuni-game-hub #game-hub-all{padding:8px 10px;font-size:13px;min-height:44px}
 .page:has(.game-layout){padding:8px 3% 32px}.page:has(.game-layout)>.page-head{background:transparent!important;box-shadow:none!important;min-height:0!important;padding:0!important;margin:0 0 8px!important;display:block!important}.page:has(.game-layout)>.page-head>div:first-child{display:none}.page:has(.game-layout)>.page-head>.actions{width:auto;justify-content:flex-end;gap:8px}.page:has(.game-layout)>.page-head .btn{min-height:44px;padding:8px 12px;font-size:13px}
 .page:has(.game-layout) .new-game-choice{display:none}.page:has(.game-layout) .daily-selector{margin:0 0 8px;padding:0}
 .page:has(#newgame-scope)>.page-head{display:none!important}
 .game-layout{display:flex!important;flex-direction:column;gap:14px!important}.game-layout>.game-panel{order:0;width:100%;min-width:0;padding:14px}.game-layout>.game-left{order:2;width:100%}.game-layout>.game-left>section:first-child{display:none}.game-layout>.right-rail{order:3;width:100%;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
 .game-panel>.card-head{margin-bottom:7px;gap:6px}.game-panel>h2{font-size:20px;line-height:1.25}.game-panel .experience-rules{margin:6px 0!important;padding:0!important}.game-panel .experience-rules>summary{min-height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer}
 #newgame-scope .play-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px}.game-panel .archive-picker{grid-column:1/-1;justify-content:flex-end;font-size:11px}.game-panel .archive-picker input{min-height:36px!important;padding:5px 8px!important;font-size:12px;width:135px!important}.game-panel .share-challenge{min-height:44px!important;padding:6px 10px!important;font-size:12px!important}
 #newgame-scope #board{min-height:0;padding:0;margin:0 auto;max-width:540px;width:100%;overflow:visible}.game-panel #game-board{scroll-margin-top:12px}.game-panel .wave3-game{margin:4px auto}.game-panel .wave3-score{margin:2px 0 6px;line-height:1.4}.game-panel .wave3-note{margin:7px 0 2px}.game-panel .wave3-result:empty{display:none}
 .game-panel .new-game-actions{margin-top:8px!important}.game-panel #status{margin:6px 0!important}.game-panel .daily-save-note{font-size:12px;line-height:1.5}.game-panel #game-board>.loop-board{max-width:min(100%,520px);margin:0 auto;display:block}
}
@media(min-width:641px) and (max-width:1100px){.page:has(.game-layout) .game-panel{padding:16px 24px}.page:has(.game-layout) .game-panel .play-heading{grid-template-columns:minmax(0,1fr) auto auto}.page:has(.game-layout) .game-panel .archive-picker{grid-column:auto}.page:has(.game-layout) .game-panel #board{max-width:470px}}
@media(max-width:380px){#header{grid-template-columns:minmax(75px,1fr) 44px minmax(0,1.7fr)}#header .brand{font-size:17px!important}#header .brand svg{width:24px;height:24px}#header .language{max-width:68px;font-size:11px!important}#header #account-button{font-size:10px}.game-layout>.game-panel{padding:10px}.puzuni-game-hub h2{max-width:56%}}



.boss-play-status{font-size:13px;line-height:1.4;padding:6px 8px;border-inline-start:3px solid #ad722e;background:#fff8e9;border-radius:6px;margin:6px 0}.boss-next{margin:8px 0}.knight-cell.is-checkpoint{box-shadow:inset 0 0 0 2px #ac7d35}.boss-catalog{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.boss-workspace .right-rail ol{padding-inline-start:24px}.boss-workspace .right-rail li{margin:10px 0}@media(max-width:1100px){.boss-workspace>aside.right-rail{display:block!important;margin-top:12px}}@media(max-width:640px){.game-layout.boss-workspace>.game-panel{padding:10px}.boss-workspace .knight-grid{gap:2px}.boss-workspace .knight-cell{min-width:24px;min-height:24px}}

/* An active Boss keeps the original shell, with its board before discovery artwork. */
body:has(.boss-workspace) .puzuni-game-hub{margin:8px auto 0}body:has(.boss-workspace) .puzuni-game-hub nav{display:none}body:has(.boss-workspace) .puzuni-game-hub header{margin:0!important;min-height:44px}body:has(.boss-workspace) .puzuni-game-hub h2{font-size:18px}.page:has(.boss-workspace)>.page-head,.page:has(.boss-workspace) .new-game-choice{display:none!important}.page:has(.boss-workspace){padding-top:12px}.boss-workspace .game-panel>h2{margin:8px 0;font-size:22px}.boss-workspace .game-panel>.card-head{margin-bottom:8px;padding-bottom:8px}.boss-workspace .game-rules-row>.experience-rules{margin:4px 0!important;padding:6px 0!important}

.boss-workspace #board{padding:0!important;min-height:0}.boss-workspace .wave3-game{margin:4px auto}.boss-workspace .wave3-score{margin:2px 0 6px}.boss-workspace .game-rules-row{margin:4px 0}.boss-workspace .game-rules-row>.experience-rules{padding:0!important}

/* Only the membership review; legal consents remain outside the disclosure. */
.checkout-membership-summary .benefit-list{margin-block:8px}
.checkout-membership-summary .benefit-list li{padding-block:3px;line-height:1.45;font-size:14px}
.checkout-membership-details>summary{min-height:44px;align-content:center;cursor:pointer}
.checkout-membership-details~#checkout-form{margin-top:10px!important;gap:12px}
.checkout-membership-details~#checkout-form>.btn{min-height:44px}
