:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#f1f3ee;color:#25342b;font-synthesis:none;color-scheme:light;--ink:#25342b;--muted:#899389;--accent:#dd754e;--green:#526b55;--light:#eae9dd;--dark:#8f9f8c;--line:#dfe5db}*{box-sizing:border-box}body{margin:0;height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 5% 92%,#dce7da80,transparent 50%),radial-gradient(ellipse at 95% 8%,#eee0cf55,transparent 40%),#f1f3ee}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #dd754e;outline-offset:4px}button,a,select{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.topbar{position:fixed;top:max(23px,env(safe-area-inset-top));left:25px;right:25px;max-width:940px;margin:auto;display:flex;align-items:center;justify-content:space-between;z-index:4;pointer-events:none}.topbar>*{pointer-events:auto}.brand{text-decoration:none;font-size:26px;font-weight:740;letter-spacing:-1.7px;line-height:1}.brand>span{color:var(--accent)}.top-button{border:1px solid #fff9;background:#ffffff60;border-radius:50%;width:37px;height:37px;display:flex;align-items:center;justify-content:center;color:#687a6d;backdrop-filter:blur(12px)}.top-button svg{width:19px;height:19px}.reels{width:100%;height:100dvh;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior-y:contain;overflow-anchor:none}.reels::-webkit-scrollbar{display:none}.reel{height:100dvh;min-height:100dvh;width:100%;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;padding:calc(76px + env(safe-area-inset-top)) 20px calc(127px + env(safe-area-inset-bottom));position:relative;overflow:hidden}.reel-content{width:100%;max-width:440px;margin:auto;display:flex;flex-direction:column;align-items:center}.puzzle-heading{width:100%;max-width:440px;display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px;padding:0 2px}.turn-label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:560;letter-spacing:-.2px}.turn-dot{height:11px;width:11px;border-radius:50%;background:#fffdf0;border:1px solid #75826c;box-shadow:0 1px 3px #22352812}.turn-dot.black{background:#354b3a;border-color:#354b3a}.difficulty-pill{display:flex;gap:7px;align-items:center;font-size:9px;font-weight:650;letter-spacing:.45px;color:#6e816c;background:#e5ebdf;border:1px solid #dce4d4;border-radius:20px;padding:7px 10px;white-space:nowrap}.difficulty-pill.level-1{color:#558265;background:#e0ecdf;border-color:#d4e3d1}.difficulty-pill.level-2{color:#7c8558;background:#e7eadb;border-color:#dde2ce}.difficulty-pill.level-3{color:#9a7f40;background:#efead9;border-color:#e7dfc6}.difficulty-pill.level-4{color:#a4764f;background:#f1e5d9;border-color:#e9d9ca}.difficulty-pill.level-5{color:#a65d51;background:#f1e0d9;border-color:#e7d1c8}.difficulty-bars{height:11px;display:flex;align-items:flex-end;gap:2px}.difficulty-bars i{width:2px;border-radius:1px;display:block;background:currentColor;opacity:.2}.difficulty-bars i:nth-child(1){height:3px}.difficulty-bars i:nth-child(2){height:5px}.difficulty-bars i:nth-child(3){height:7px}.difficulty-bars i:nth-child(4){height:9px}.difficulty-bars i:nth-child(5){height:11px}.difficulty-bars i.filled{opacity:1}.board-wrap{width:min(100%,calc(100svh - 337px));max-width:440px;aspect-ratio:1;position:relative;border-radius:10px;overflow:hidden;box-shadow:0 18px 45px #2f4b2d12,0 2px 3px #23352609;outline:1px solid #718a6010}.board{display:grid;grid-template-columns:repeat(8,1fr);width:100%;height:100%;user-select:none;-webkit-user-select:none;touch-action:pan-y}.square{position:relative;background:var(--light);color:#6e8166;border:0;border-radius:0;padding:0;display:flex;align-items:center;justify-content:center;aspect-ratio:1;min-width:0}.square.dark{background:var(--dark);color:#f6f6e9}.square.last:before{content:'';position:absolute;inset:0;background:#e0cb6855}.square.selected:before{content:'';position:absolute;inset:0;background:#d8c35b90;box-shadow:inset 0 0 0 2px #9b8a4170}.square.legal:after{content:'';position:absolute;z-index:2;pointer-events:none;width:23%;height:23%;border-radius:50%;background:#2b49333b}.square.capture:after{width:86%;height:86%;background:none;border:4px solid #2b49333b}.square.hinted{box-shadow:inset 0 0 0 3px var(--accent)}.piece{width:89%;height:89%;z-index:1;position:relative;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 2px 1px #24342126);pointer-events:none}.piece.w{fill:#fffdf0;stroke:#3d4538}.piece.b{fill:#313b32;stroke:#1e2b23}.piece.w .detail{fill:none;stroke:#3d4538}.piece.b .detail{fill:none;stroke:#b6c3a8}.piece.b .eye{fill:#d5dec4;stroke:none}.piece.w .eye{fill:#3d4538;stroke:none}.coord{position:absolute;font-size:9px;line-height:1;font-weight:650;z-index:2;pointer-events:none}.coord.rank{left:4px;top:4px}.coord.file{right:4px;bottom:4px}.feedback{font-size:11px;line-height:1.45;color:#8a9588;text-align:center;min-height:38px;padding:13px 0 8px;margin:0;width:100%}.feedback.success{color:#4d7b54;font-weight:550}.feedback.error{color:#bd6b4d}.feedback.assisted{color:#a48a57}.puzzle-actions{display:flex;align-items:center;gap:3px;justify-content:center;width:100%}.action-button{border:0;background:none;display:flex;align-items:center;gap:6px;justify-content:center;padding:11px 12px;color:#7d8b7b;font-size:10px;font-weight:500;border-radius:20px;min-height:40px}.action-button svg{width:17px;height:17px}.action-button:hover{background:#e3e9dd}.action-button[aria-pressed=true]{color:var(--accent)}.action-button[aria-pressed=true] svg{fill:#dd754e22}.action-separator{height:13px;width:1px;background:#dce3d6;margin:0 6px}.round-button{border:0;background:none;color:#8b9988;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:17px}.round-button svg{width:16px;height:16px}.puzzle-meta{display:flex;align-items:center;justify-content:center;gap:8px;font-size:9px;color:#a0aa9a;margin-top:8px}.puzzle-meta a{text-decoration:none}.solution-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;max-width:360px;background:#e5ebdf;border:1px solid #dce5d6;border-radius:12px;padding:4px 8px;margin:3px 0 4px}.solution-strip button{border:0;background:none;width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:18px}.solution-strip .move-detail{text-align:center;line-height:1.4}.move-detail strong{font-size:11px;font-weight:600;display:block}.move-detail span{font-size:8px;color:#87947c}.reel.reviewing .board-wrap{width:min(100%,calc(100svh - 382px))}.scroll-cue{position:fixed;z-index:3;bottom:calc(112px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:3px;color:#a1ac9a;pointer-events:none}.scroll-cue span{font-size:7px;letter-spacing:2.2px}.scroll-cue svg{width:13px;height:13px}.glass-dock{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(346px,calc(100% - 44px));padding:7px;display:flex;align-items:center;justify-content:space-around;gap:3px;border:1px solid #ffffffa8;border-radius:29px;background:linear-gradient(145deg,#ffffff8a,#ffffff32 50%,#eef5e75c);box-shadow:inset 0 1px 1px #ffffffea,inset 0 -1px 2px #90a38030,0 10px 30px #2a4c3212,0 2px 5px #425f3820;backdrop-filter:blur(28px) saturate(175%);-webkit-backdrop-filter:blur(28px) saturate(175%);z-index:5;isolation:isolate}.glass-dock:before{content:'';position:absolute;inset:1px;border-radius:27px;border-top:1px solid #fff9;pointer-events:none}.dock-item{border:0;background:none;min-width:0;flex:1;border-radius:23px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:51px;padding:5px;color:#84917f;position:relative;transition:background .18s,color .18s}.dock-item svg{width:20px;height:20px}.dock-item span{font-size:8px;font-weight:550}.dock-item.active{background:linear-gradient(145deg,#ffffffa8,#e1ebd75e);color:#3e6648;box-shadow:inset 0 1px 1px #fff,0 1px 3px #3a583014}.dock-item i{height:5px;width:5px;border-radius:50%;position:absolute;right:calc(50% - 15px);top:7px;background:#83a675;box-shadow:0 0 0 2px #eff3e8}.feed-message{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:90px 30px 130px;text-align:center;scroll-snap-align:start;color:#8c9986;font-size:12px}.feed-message .soft-button{width:auto}.spinner{height:24px;width:24px;border:2px solid #dae3d1;border-top-color:#7c9270;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sheet{border:1px solid #ffffffab;border-radius:27px;background:#f9faf6;box-shadow:0 25px 90px #243c2530;padding:35px 28px 27px;width:calc(100% - 28px);max-width:430px;max-height:87dvh;color:var(--ink);overflow-y:auto;scrollbar-width:thin}.sheet::backdrop{background:#324a3433;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.close-button{position:absolute;right:15px;top:15px;width:31px;height:31px;border:0;background:#e9eee3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#83927b}.close-button svg{width:16px;height:16px}.eyebrow{font-size:8px;font-weight:650;letter-spacing:1.8px;color:#9ca591;margin:2px 0 13px}.sheet h1{font-weight:500;font-size:29px;line-height:1.12;letter-spacing:-1.4px;margin:0 0 14px}.muted{color:#8b9584;font-size:12px;line-height:1.8}.small{font-size:10px}.sheet label{display:block;font-size:10px;font-weight:550;color:#65765c;margin:23px 0 9px}.sheet select,.sheet input{width:100%;border:1px solid #dfe6d6;border-radius:12px;background:#ffffff99;color:#455c3b;min-height:47px;padding:13px 14px;font-size:12px;outline-offset:2px}.solid-button,.soft-button{border:0;border-radius:14px;padding:15px 17px;width:100%;font-size:12px;font-weight:550;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:47px}.solid-button{background:#314c35;color:#f8fbf4;margin-top:22px}.solid-button:hover{background:#3f6043}.soft-button{background:#e8eedf;color:#64785a;justify-content:center}.text-button{border:0;background:none;color:#8c9b83;font-size:10px;padding:10px 0;text-align:left}.sheet-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:#9aa590}.sheet-footer a{font-size:9px;text-decoration:none}.auth-links{display:flex;flex-direction:column;align-items:center;gap:0;margin-top:15px}.auth-links button{padding:9px;font-size:10px}.form-error{min-height:15px;font-size:10px;line-height:1.6;color:#bd6b4d;margin:12px 0 0}.form-error:empty{display:none}.profile-mark{height:56px;width:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e6eddf;color:#708765;margin:8px 0 24px}.profile-mark svg{width:26px;height:26px}.profile-username{font-size:11px;color:#9aa58e;margin-top:-4px}.profile-detail{font-size:10px;line-height:1.9;color:#8a9980;padding:17px;border-radius:14px;background:#edf2e7;margin:23px 0}.profile-detail strong{font-weight:550;color:#5e7854}.recovery-code{display:block;overflow-wrap:anywhere;padding:18px;background:#e7eedf;border:1px dashed #c4d3b6;border-radius:12px;font-size:14px;line-height:1.6;color:#59734e;user-select:all;margin:20px 0 12px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:25px 0}.stat-card{padding:20px 16px;background:#edf1e6;border-radius:16px}.stat-card strong{font-size:29px;font-weight:500;letter-spacing:-1.1px;display:block;margin-bottom:6px}.stat-card span{font-size:9px;color:#91a085}.week-title{margin-top:30px}.week-chart{height:130px;display:flex;gap:12px;align-items:stretch;margin:20px 0 25px}.chart-column{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;color:#a0aa95;font-size:8px}.chart-bar{width:100%;max-width:34px;border-radius:7px 7px 3px 3px;background:#c7d7b8;min-height:3px}.chart-column.today .chart-bar{background:#738d65}.saved-list{display:flex;flex-direction:column;gap:10px;margin-top:24px}.saved-item{display:flex;align-items:center;gap:15px;padding:12px;border-radius:16px;background:#edf1e6}.mini-board{height:85px;width:85px;display:grid;grid-template-columns:repeat(8,1fr);border-radius:5px;overflow:hidden;flex-shrink:0}.mini-board .piece{filter:none}.saved-detail{flex:1}.saved-detail h2{font-size:12px;font-weight:550;margin:0 0 7px}.saved-detail p{font-size:9px;color:#95a087;margin:0}.saved-play{border:0;border-radius:10px;background:#dfe9d4;color:#678058;font-size:10px;padding:9px 12px;margin-top:11px}.saved-remove{border:0;background:none;color:#99a68e;padding:8px;font-size:17px}.empty-state{padding:25px 10px;text-align:center;color:#93a087;font-size:12px;line-height:1.8}.empty-state svg{width:30px;height:30px;margin:12px}.promotion-options{display:flex;gap:8px;margin:25px 0}.promotion-options button{border:1px solid #dfe7d4;background:#edf2e5;border-radius:12px;flex:1;padding:6px}.promotion-options .piece{width:100%;height:auto}.compact-sheet{text-align:center}.compact-sheet>.text-button{display:block;margin:auto}.toast{position:fixed;bottom:calc(110px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:12px 18px;background:#314b36e8;backdrop-filter:blur(12px);border:1px solid #ffffff20;border-radius:15px;color:#f5faee;font-size:11px;line-height:1.6;max-width:calc(100% - 40px);width:max-content;text-align:center;z-index:20;box-shadow:0 7px 25px #27442c26}.shake{animation:shake .24s}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}.credits-page{height:auto;overflow:auto;max-width:650px;padding:40px 25px;margin:auto}.credits-page h1{font-size:30px;letter-spacing:-1.3px;margin:30px 0}.credits-page h2{font-size:15px;font-weight:550;margin-top:28px}.credits-page p{font-size:12px;line-height:1.9;color:#819077}.credits-page a{color:#5c7952}@media(min-width:760px){.topbar{top:32px;left:44px;right:44px}.brand{font-size:29px}.reel{padding-bottom:145px;padding-top:95px}.reel-content{max-width:440px}.puzzle-heading{margin-bottom:18px}.turn-label{font-size:13px}.difficulty-pill{font-size:10px}.feedback{font-size:12px;min-height:43px}.action-button{font-size:11px;padding-inline:18px}.glass-dock{bottom:28px;width:350px}.scroll-cue{bottom:117px}}@media(max-height:700px){.topbar{top:max(15px,env(safe-area-inset-top));left:22px;right:22px}.brand{font-size:24px}.top-button{width:32px;height:32px}.reel{padding-top:68px;padding-bottom:112px}.board-wrap{width:min(100%,calc(100svh - 300px))}.puzzle-heading{margin-bottom:11px}.turn-label{font-size:11px}.difficulty-pill{font-size:8px;padding:6px 8px}.feedback{font-size:10px;min-height:33px;padding-top:10px}.action-button{min-height:36px;padding-top:8px;padding-bottom:8px}.puzzle-meta{margin-top:3px}.glass-dock{bottom:calc(13px + env(safe-area-inset-bottom));padding:5px;width:min(320px,calc(100% - 44px))}.dock-item{height:46px}.dock-item span{font-size:7px}.dock-item svg{width:18px;height:18px}.scroll-cue{bottom:calc(88px + env(safe-area-inset-bottom))}.reel.reviewing .board-wrap{width:min(100%,calc(100svh - 347px))}.sheet{padding:31px 24px 23px}.sheet h1{font-size:27px}.sheet label{margin-top:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
.turn-label{margin:0}

.difficulty-pill{font-size:10px;letter-spacing:.3px;padding:8px 10px}.difficulty-pill.level-1{color:#3d6b49}.difficulty-pill.level-2{color:#5e6d37}.difficulty-pill.level-3{color:#82651e}.difficulty-pill.level-4{color:#8c5730}.difficulty-pill.level-5{color:#934b40}

/* Experience v2: explicit completion, smooth movement, themes and tablets. */
:root{--app-height:100dvh;--surface:#f9faf6;--soft:#edf1e6;--input:#ffffff99;--board-size:min(100%,calc(100svh - 337px));--glass-top:#ffffff8a;--glass-bottom:#eef5e75c}
html{background:#f1f3ee}body{transition:background-color .22s,color .22s}.reels{height:var(--app-height)}.reel{height:var(--app-height);min-height:var(--app-height)}.feed-message{height:var(--app-height)}
.top-actions{display:flex;align-items:center;gap:9px;pointer-events:auto}.install-top{border:1px solid #ffffffb0;background:#ffffff70;backdrop-filter:blur(14px);border-radius:20px;min-height:36px;padding:8px 12px;font-size:10px;font-weight:550;color:#6c7f65;display:flex;align-items:center;gap:6px}.install-top svg{width:15px;height:15px}
.square{transition:background-color .2s,box-shadow .18s}.square:before{transition:background .18s}.piece{will-change:auto}.capture-ghost{position:absolute!important;pointer-events:none;z-index:7}.animating .board{pointer-events:none}.board-wrap{transition:box-shadow .3s,outline-color .3s}.feedback{transition:color .2s}.action-button{min-height:44px;padding:11px 13px;transition:background .18s,color .18s,transform .18s}.action-button:active,.dock-item:active,.completion-next:active{transform:scale(.96)}.sheet[open]{animation:sheet-in .22s cubic-bezier(.22,.72,.18,1)}@keyframes sheet-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.reel.solved .board-wrap{width:var(--board-size);outline:2px solid #7f9c6f99;box-shadow:0 16px 48px #345c3020,0 0 0 5px #7b9d6610}.reel.solved:not(.review-open) .board{filter:blur(3px);opacity:.28;transition:filter .3s,opacity .3s}.reel.solved.review-open .board{filter:none;opacity:1}.reel.solved .turn-label{color:#4c7645;font-weight:650}.solved-dot{height:18px;width:18px;background:#dbe9d1;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.solved-dot svg{width:12px;height:12px;stroke-width:2.4}
.completion-panel{position:absolute;inset:0;z-index:8;border-radius:10px;padding:20px 22px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;background:linear-gradient(145deg,#fbfff5e8,#f3f8ebdf);backdrop-filter:blur(16px) saturate(130%);-webkit-backdrop-filter:blur(16px) saturate(130%);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.completion-title{display:flex;gap:11px;align-items:center;justify-content:center;text-align:left}.complete-check{display:flex;align-items:center;justify-content:center;border-radius:50%;height:38px;width:38px;background:#deecd5;color:#59834e;flex-shrink:0;box-shadow:inset 0 1px 1px #fff8}.complete-check svg{width:23px;height:23px;stroke-width:2.2}.complete-check path{stroke-dasharray:30;stroke-dashoffset:0;animation:check-in .45s ease-out}@keyframes check-in{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}.completion-title h3{font-size:26px;letter-spacing:-1px;line-height:1.1;margin:0 0 4px;font-weight:650}.completion-title p{font-size:9px;color:#889b7b;margin:0}
.completion-quote{position:relative;text-align:center;margin:16px 0 17px;padding-top:5px}.quote-glyph{font-family:Georgia,serif;color:#9bb08a;font-size:31px;line-height:16px;display:block}.completion-quote blockquote{font-family:Georgia,serif;font-size:15px;line-height:1.5;letter-spacing:-.15px;color:#4c6642;margin:4px 0 9px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.quote-source-button{border:0;background:none;padding:4px;font-size:9px;color:#8c9e7c;line-height:1.6;min-height:26px}.quote-source-button:hover{color:#486a3e}
.completion-next{border:0;border-radius:13px;background:#3d663c;color:#fcfff6;padding:13px 15px;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:44px;box-shadow:0 4px 12px #365d2520;transition:transform .18s,background .18s}.completion-next:hover{background:#4d7948}.completion-next span{font-size:16px}.completion-review{border:0;background:none;color:#8a9e7c;padding:10px 12px 0;min-height:30px;font-size:10px}.quote-reopen{display:none}.quote-reopen>span:first-child{font:25px/10px Georgia,serif}.review-open .quote-reopen{display:flex}.solved:not(.review-open) .puzzle-actions [data-action="hint"],.solved:not(.review-open) .puzzle-actions [data-action="reveal"],.solved:not(.review-open) .action-separator{display:none}.solved:not(.review-open) .puzzle-actions{margin-top:3px}.solved .feedback{font-size:10px;color:#73906a}.reel.solved.review-open .board-wrap{width:min(100%,calc(100svh - 382px))}.reel.solved.review-open .completion-panel{display:none}.quote-sheet{max-width:490px}.quote-full{font:20px/1.5 Georgia,serif;margin:20px 0 13px;color:#4b6641}.quote-author{font-size:12px;color:#7f9471}.quote-original-label{margin-top:26px}.quote-original{font-size:12px;line-height:1.8;color:#819274;border-left:2px solid #c5d5b6;padding-left:14px;margin-left:0}.quote-book{font-size:11px;color:#849775;line-height:1.7;margin:18px 0 8px}.quote-source-link{font-size:11px;color:#5c7e4d;text-underline-offset:3px}
.appearance-label{margin-top:26px!important}.install-settings{margin-top:12px}.install-header{display:flex;align-items:center;gap:14px;margin-bottom:23px}.install-header img{width:54px;height:54px;border-radius:15px;box-shadow:0 4px 10px #213f2017}.install-header h1{font-size:26px;margin-bottom:3px}.install-header p{margin:0}.install-instructions{padding-left:24px;margin:23px 0 0;color:#839476;font-size:12px;line-height:1.8}.install-instructions li{padding-left:4px;margin-bottom:14px}.install-instructions strong{font-weight:600;color:#59764c}.install-status{font-size:11px;color:#8aa07a;line-height:1.7}.install-nudge{position:fixed;z-index:4;top:76px;right:max(23px,calc((100% - 940px)/2));background:linear-gradient(145deg,#ffffffcc,#f4f8ecc9);border:1px solid #ffffffd0;box-shadow:0 6px 22px #36502d12;backdrop-filter:blur(20px);border-radius:15px;display:flex;align-items:center;gap:12px;padding:10px 12px;color:#6f8861}.install-nudge-open{border:0;background:none;display:flex;flex-direction:column;text-align:left;gap:3px;color:inherit;padding:0;font-size:10px}.install-nudge-open strong{font-size:11px;font-weight:600}.install-nudge-close{border:0;background:#e8efdf;border-radius:50%;font-size:16px;color:#91a182;width:25px;height:25px;line-height:1}.installed-app .install-top,.installed-app .install-nudge{display:none!important}
[data-theme="dark"]{color-scheme:dark;background:#141c19;--ink:#e2e9df;--muted:#8d9d8b;--accent:#e88b66;--green:#a6c396;--light:#b4c0b0;--dark:#536c5b;--line:#354439;--surface:#1f2b23;--soft:#28382a;--input:#223127;--glass-top:#3445379c;--glass-bottom:#1e2a2299}
[data-theme="dark"] body{background:radial-gradient(ellipse at 4% 96%,#26412e55,transparent 52%),radial-gradient(ellipse at 95% 8%,#44312630,transparent 45%),#141c19;color:#e2e9df}
[data-theme="dark"] .top-button,[data-theme="dark"] .install-top{background:#2c3c2e90;border-color:#52634d55;color:#b5c5a9;box-shadow:inset 0 1px 0 #ffffff08}
[data-theme="dark"] .brand>span{color:#e88b66}
[data-theme="dark"] .turn-label{color:#d8e4d2}[data-theme="dark"] .turn-dot{background:#f2f2df;border-color:#a5b59a}[data-theme="dark"] .turn-dot.black{background:#273e2c;border-color:#9cad90}
[data-theme="dark"] .difficulty-pill.level-1{color:#b9d9ac;background:#2a4230;border-color:#405c3c}[data-theme="dark"] .difficulty-pill.level-2{color:#ccd5a2;background:#34402a;border-color:#4b5838}[data-theme="dark"] .difficulty-pill.level-3{color:#e0c991;background:#433c28;border-color:#5d5034}[data-theme="dark"] .difficulty-pill.level-4{color:#e0b397;background:#48362a;border-color:#624737}[data-theme="dark"] .difficulty-pill.level-5{color:#edb1a2;background:#48302c;border-color:#694139}
[data-theme="dark"] .piece.w{fill:#f5f4df;stroke:#314333}[data-theme="dark"] .piece.b{fill:#203128;stroke:#d0d9bf;stroke-width:1.1}[data-theme="dark"] .piece.b .detail{stroke:#c0cdb0}[data-theme="dark"] .square{color:#52684b}[data-theme="dark"] .square.dark{color:#d9e3ca}[data-theme="dark"] .square.selected:before{background:#d6c26988}[data-theme="dark"] .square.hinted{box-shadow:inset 0 0 0 3px #efad7a}
[data-theme="dark"] .feedback{color:#8fa285}[data-theme="dark"] .feedback.success{color:#bbd6a9}[data-theme="dark"] .feedback.error{color:#e3a486}[data-theme="dark"] .feedback.assisted{color:#c3ae80}
[data-theme="dark"] .action-button,[data-theme="dark"] .round-button{color:#a1b294}[data-theme="dark"] .action-button:hover{background:#2b3b2d}[data-theme="dark"] .action-button[aria-pressed=true]{color:#e4a683}[data-theme="dark"] .action-separator{background:#334633}[data-theme="dark"] .puzzle-meta{color:#768b6e}
[data-theme="dark"] .glass-dock{background:linear-gradient(145deg,#354a3a99,#1c2a2399 55%,#2d3e2aa3);border-color:#90ac7738;box-shadow:inset 0 1px 1px #d8efd432,inset 0 -1px 2px #0005,0 12px 36px #0004,0 2px 6px #0003}[data-theme="dark"] .glass-dock:before{border-top-color:#d7eac020}[data-theme="dark"] .dock-item{color:#96aa89}[data-theme="dark"] .dock-item.active{background:linear-gradient(145deg,#64795655,#3b513d55);color:#d0e2bb;box-shadow:inset 0 1px 1px #d2e7bd20,0 1px 3px #0002}[data-theme="dark"] .dock-item i{box-shadow:0 0 0 2px #2c402b}[data-theme="dark"] .scroll-cue{color:#718668}
[data-theme="dark"] .sheet{background:#1f2b23;border-color:#4b624348;color:#e2e9df;box-shadow:0 25px 90px #0007}[data-theme="dark"] .sheet::backdrop{background:#080f0b80}[data-theme="dark"] .close-button{background:#2c3e2c;color:#aec29b}[data-theme="dark"] .eyebrow{color:#869f77}[data-theme="dark"] .muted{color:#a4b296}[data-theme="dark"] .sheet label{color:#b6c5a7}[data-theme="dark"] .sheet select,[data-theme="dark"] .sheet input{background:#28382b;border-color:#42533b;color:#d9e5cd}[data-theme="dark"] .sheet input::placeholder{color:#7f9471}
[data-theme="dark"] .solid-button{background:#a7c493;color:#1d2c1d}[data-theme="dark"] .solid-button:hover{background:#b8d5a4}[data-theme="dark"] .soft-button{background:#30432e;color:#c0d3ac}[data-theme="dark"] .text-button,[data-theme="dark"] .sheet-footer,[data-theme="dark"] .profile-username{color:#9fb18f}[data-theme="dark"] .profile-mark,[data-theme="dark"] .profile-detail,[data-theme="dark"] .stat-card,[data-theme="dark"] .saved-item{background:#293b2a;color:#c0d2ae}[data-theme="dark"] .profile-detail strong{color:#bbd3a8}[data-theme="dark"] .profile-detail,[data-theme="dark"] .saved-detail p,[data-theme="dark"] .stat-card span{color:#98ae87}
[data-theme="dark"] .recovery-code{background:#283d29;border-color:#49663d;color:#c0d6ac}[data-theme="dark"] .saved-play{background:#405934;color:#d0e2ba}[data-theme="dark"] .empty-state,[data-theme="dark"] .chart-column{color:#91a780}[data-theme="dark"] .chart-bar{background:#46603b}[data-theme="dark"] .chart-column.today .chart-bar{background:#a1bf88}
[data-theme="dark"] .solution-strip{background:#293c29;border-color:#415a36;color:#d5e2c6}[data-theme="dark"] .move-detail span{color:#99b286}
[data-theme="dark"] .solved-dot,[data-theme="dark"] .complete-check{background:#38562f;color:#bfdca9}[data-theme="dark"] .reel.solved .turn-label{color:#c6dfaf}[data-theme="dark"] .reel.solved .board-wrap{outline-color:#9abb7b88;box-shadow:0 16px 48px #0004,0 0 0 5px #9bbf7410}[data-theme="dark"] .completion-panel{background:linear-gradient(145deg,#243a28ef,#1d3021eb);border:1px solid #9bbf6c30}[data-theme="dark"] .completion-title p,[data-theme="dark"] .quote-source-button,[data-theme="dark"] .completion-review{color:#9db68b}[data-theme="dark"] .completion-quote blockquote,[data-theme="dark"] .quote-full{color:#d7e5c9}[data-theme="dark"] .quote-glyph{color:#8dab70}[data-theme="dark"] .completion-next{background:#aac991;color:#21321e}[data-theme="dark"] .completion-next:hover{background:#bedda6}[data-theme="dark"] .quote-author,[data-theme="dark"] .quote-book,[data-theme="dark"] .quote-original{color:#a3b88f}[data-theme="dark"] .quote-original{border-color:#49643a}[data-theme="dark"] .quote-source-link{color:#b8d39f}
[data-theme="dark"] .install-nudge{background:linear-gradient(145deg,#2d422eec,#243723ec);border-color:#63845250;color:#b4c99c;box-shadow:0 6px 22px #0004}[data-theme="dark"] .install-nudge-close{background:#3a5331;color:#b1c69a}[data-theme="dark"] .install-instructions,[data-theme="dark"] .install-status{color:#9bb58a}[data-theme="dark"] .install-instructions strong{color:#c1d8ac}[data-theme="dark"] .promotion-options button{background:#34492f;border-color:#526a43}[data-theme="dark"] .form-error{color:#e0a080}[data-theme="dark"] .credits-page p{color:#9cb18b}[data-theme="dark"] .credits-page a{color:#c1d6aa}
@media(min-width:700px) and (min-height:800px){:root{--board-size:min(100%,calc(100svh - 340px),560px)}.reel-content{max-width:560px}.puzzle-heading{max-width:none}.board-wrap{width:var(--board-size);max-width:560px}.turn-label{font-size:14px}.difficulty-pill{font-size:11px;padding:9px 13px}.feedback{font-size:12px;min-height:47px}.action-button{font-size:12px;gap:8px;padding:13px 20px;min-height:48px}.action-button svg{width:19px;height:19px}.coord{font-size:11px}.completion-panel{padding:35px 42px}.completion-title h3{font-size:34px}.complete-check{width:48px;height:48px}.completion-title p{font-size:11px}.completion-quote{margin:27px 0}.completion-quote blockquote{font-size:21px;-webkit-line-clamp:5}.quote-source-button{font-size:11px}.completion-next{font-size:14px;min-height:49px}.completion-review{font-size:12px;min-height:39px}.glass-dock{width:382px;padding:9px}.dock-item{height:56px}.dock-item span{font-size:9px}.dock-item svg{width:23px;height:23px}}
@media(min-width:950px) and (min-height:600px) and (orientation:landscape){:root{--board-size:min(100%,calc(100svh - 270px),560px)}.reel{padding:94px 35px 124px}.reel-content{max-width:970px;display:grid;grid-template-columns:minmax(350px,560px) minmax(230px,280px);column-gap:48px;row-gap:12px;align-content:center;justify-content:center}.puzzle-heading{grid-column:1;grid-row:1;max-width:none;margin-bottom:4px}.board-wrap,.reel.solved.review-open .board-wrap{grid-column:1;grid-row:2/7;width:var(--board-size);max-width:560px;justify-self:center}.feedback{grid-column:2;grid-row:2;align-self:end;text-align:left;font-size:14px;line-height:1.7;min-height:0;padding:0}.puzzle-actions{grid-column:2;grid-row:3;display:flex;flex-direction:column;align-items:stretch;gap:8px;justify-content:start}.action-button{justify-content:flex-start;padding:14px 17px;background:#e4ebdc80;font-size:12px;border:1px solid #d4dfcb80;border-radius:14px;min-height:48px}.action-separator{display:none}.puzzle-meta{grid-column:2;grid-row:4;justify-content:flex-start;font-size:10px;margin-top:2px;padding-left:4px}.solution-strip{grid-column:2;grid-row:5;margin-top:5px}.solved .feedback{font-size:13px}.solved:not(.review-open) .puzzle-actions{margin-top:0}.completion-panel{padding:28px 34px}.completion-quote blockquote{font-size:19px;-webkit-line-clamp:4}.completion-title h3{font-size:31px}.completion-title p{font-size:10px}.completion-next{min-height:48px;font-size:13px}.completion-review{font-size:11px}.completion-quote{margin:23px 0}.quote-source-button{font-size:10px}[data-theme="dark"] .action-button{background:#2d402b88;border-color:#45613a55}}
@media(max-height:700px){:root{--board-size:min(100%,calc(100svh - 300px))}.completion-panel{padding:15px 18px}.completion-title h3{font-size:24px}.complete-check{height:32px;width:32px}.completion-title p{font-size:8px}.completion-quote{margin:11px 0}.completion-quote blockquote{font-size:14px;-webkit-line-clamp:3;line-height:1.45;margin-bottom:4px}.quote-glyph{font-size:25px}.quote-source-button{font-size:8px;min-height:21px}.completion-next{font-size:11px;min-height:40px;padding:10px 13px}.completion-review{min-height:27px;padding-top:8px;font-size:9px}.solved .feedback{font-size:9px;min-height:31px}.reel.solved.review-open .board-wrap{width:min(100%,calc(100svh - 347px))}.install-top{min-height:32px;font-size:9px;padding:7px 10px}.install-nudge{display:none!important}}
@media(max-width:360px){.completion-quote blockquote{font-size:13px}.difficulty-pill{font-size:9px;padding:7px 8px}.completion-title h3{font-size:23px}.completion-panel{padding:14px}.top-actions{gap:6px}.install-top{padding-inline:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.piece{will-change:auto}}
