:root{--ink:#202c29;--muted:#7b857f;--green:#224d3d;--green-2:#426b55;--accent:#c7a565;--paper:#f6f7f3;--line:#e3e7df;--light-square:#e7e8d5;--dark-square:#77917b;--red:#a34f43;--sidebar:236px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,select,input{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #c6a66c;outline-offset:3px}button{border:0}h1,h2,h3,h4,p{margin:0}button:active:not(:disabled){transform:translateY(1px)}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#142a25;color:#c1cdc4;padding:35px 20px 22px;display:flex;flex-direction:column;z-index:15}.brand{display:flex;align-items:center;gap:10px;line-height:1.5;font-size:10px;letter-spacing:1.7px;color:#f0f0e6;padding:0 8px}.brand b{font-size:12px;letter-spacing:1.15px}.brand-mark{font-size:44px;color:#d4b477;font-family:Georgia,serif;line-height:1}.sidebar-caption{font-size:9px;letter-spacing:1.4px;color:#6f8d7e;margin:51px 13px 17px}.main-nav{display:grid;gap:7px}.main-nav a{padding:15px 13px;display:flex;align-items:center;gap:11px;font-size:13px;border-radius:6px;font-weight:500;white-space:nowrap}.main-nav a:hover{background:#ffffff09;color:#fff}.main-nav a.active{background:#2b463a;color:#f9f6e8;box-shadow:inset 3px 0 #d5b87e}.nav-icon{width:20px;font-size:21px;text-align:center;line-height:1;font-weight:400;color:#91aa99}.active .nav-icon{color:#dac18d}.nav-count{margin-left:auto;font-size:10px;border:1px solid #3c5548;padding:3px 5px;border-radius:4px;color:#9eb1a3}.nav-arrow{margin-left:auto;color:#d1b77b}.sidebar-bottom{margin-top:auto;padding:45px 11px 0}.daily-mini>span{font-size:11px;color:#98aa9e}.daily-mini strong{display:block;font-size:20px;font-weight:500;color:#e9eadd;margin:10px 0 14px}.meter{height:4px;background:#ffffff14;border-radius:10px;overflow:hidden}.meter i{display:block;height:100%;background:#c6ac78;width:0;transition:width .3s}.daily-mini p{font-size:11px;line-height:1.75;color:#879f8e;margin-top:14px}.plain{padding:0;background:transparent;color:inherit}.sidebar-help{font-size:11px;color:#a5b7aa;margin:32px 0 20px}.local-note{font-size:9px;color:#6f8c7b;white-space:nowrap}.online-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#88a886;margin-right:6px}.main-shell{margin-left:var(--sidebar);min-height:100vh}.topbar{height:80px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 40px;font-size:11px;background:#fbfcf8}.top-crumb{font-size:10px;letter-spacing:1.1px;color:#8c958c}.crumb-slash{margin:0 17px;color:#c5ccc1}.top-actions{display:flex;gap:20px;align-items:center}.streak{font-size:11px;color:#79867a}.icon-button{width:34px;height:34px;background:transparent;color:#6d7b6f;font-size:20px;border:1px solid #dfe4db;border-radius:50%;display:grid;place-items:center}.avatar{width:32px;height:32px;background:#e6eadd;border:1px solid #d8ddcd;border-radius:50%;display:grid;place-items:center;color:#56674d;font-size:10px;font-weight:700}.page-footer{display:flex;justify-content:space-between;padding:0 40px 25px;color:#97a093;font-size:10px}.page-footer button{font-size:10px}main{max-width:1600px;margin:auto;padding:32px 40px 28px}.eyebrow{color:#809078;font-size:10px;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:10px}.page-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.page-title h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:34px;letter-spacing:-.7px;line-height:1.18}.page-title p{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.65}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:5px;padding:12px 17px;min-height:41px;font-size:12px;font-weight:600;line-height:1.3;transition:background .15s,color .15s;white-space:nowrap;background:#e7ebe2;color:var(--green)}.btn:hover{background:#dce4d6}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:#315c48}.btn.outline{border:1px solid #dce3d5;background:#fff;color:#526249}.btn.outline:hover{background:#f1f5ec}.btn.small{padding:9px 12px;min-height:34px;font-size:11px}.btn.danger{background:#f5e5df;color:#974236}.btn.gold{background:#d7b67c;color:#253f30}.stat-strip{display:grid;grid-template-columns:1.35fr 1fr 1fr;border:1px solid var(--line);border-radius:7px;background:#fff;margin-bottom:26px}.stat{padding:17px 23px;display:flex;gap:15px;align-items:center;min-height:76px}.stat+.stat{border-left:1px solid var(--line)}.stat-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f0f3e9;color:#657a54;font-size:21px}.stat strong{font-size:22px;font-weight:500;line-height:1.2}.stat small{display:block;color:#8a9587;font-size:10px;line-height:1.5;margin-top:4px}.stat .stat-title{font-size:10px;color:#7f8b7a;margin-bottom:4px}.stat-inline{display:flex;align-items:baseline;gap:5px}.stat-inline span{font-size:11px;color:#929c8c}.stat-progress{margin-left:auto;display:flex;gap:4px}.stat-progress i{width:4px;height:25px;border-radius:3px;background:#e8ecdf}.stat-progress i.done{background:#80976c}.workspace{display:grid;grid-template-columns:minmax(360px,1.55fr) minmax(276px,1fr);gap:26px;align-items:start}.board-column{min-width:0}.board-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px}.player-label{display:flex;align-items:center;gap:9px;font-size:11px}.player-chip{width:24px;height:24px;border-radius:4px;background:#e5e9df;display:grid;place-items:center;color:#4f6250;font-size:16px}.player-label span:last-child{color:#899281;margin-left:2px;font-size:10px}.turn-pill{font-size:10px;color:#63765c;padding:5px 8px;background:#ecf1e5;border-radius:4px}.board-frame{position:relative;background:#20352b;border:7px solid #20352b;border-radius:5px;box-shadow:0 8px 24px #1b39221a;width:100%;aspect-ratio:1}.chessboard{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:100%;height:100%;outline-offset:7px;position:relative}.square{padding:0;position:relative;display:grid;place-items:center;background:var(--light-square);border:0;border-radius:0;min-width:0;aspect-ratio:1;user-select:none;-webkit-user-select:none;touch-action:manipulation}.square.dark{background:var(--dark-square)}.square img{display:block;width:92%;height:92%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 1px #172b2228)}.square.selected{box-shadow:inset 0 0 0 4px #e3be5e;background:#d6b96e}.square.last{background:#c4ce8d}.square.dark.last{background:#a2b16c}.square.check{background:#be6b55}.square.legal:after{content:'';width:24%;height:24%;border-radius:50%;position:absolute;background:#173c3b33}.square.occupied.legal:after{width:90%;height:90%;background:transparent;border:5px solid #183a3c44}.square .coord{position:absolute;font-size:9px;line-height:1;color:#345744;font-weight:600;pointer-events:none}.square.dark .coord{color:#e8eddc}.rank{left:4px;top:4px}.file{right:4px;bottom:3px}.board-arrow{position:absolute;inset:0;pointer-events:none;width:100%;height:100%;z-index:3}.board-bottom{display:flex;justify-content:space-between;align-items:center;margin:13px 0 15px;gap:8px}.board-controls{display:flex;gap:5px}.square-tool{background:#e9ede3;min-width:31px;height:30px;border-radius:4px;color:#6a7a5e;font-size:17px;display:inline-grid;place-items:center}.board-actions{display:flex;gap:10px;align-items:center}.board-actions .plain{color:#7c8972;font-size:10px}.square-tool:hover{background:#dfe6d6}.board-caption{font-size:10px;color:#87927c}.move-timeline{background:white;border:1px solid var(--line);border-radius:6px;padding:12px 15px;max-height:142px;overflow:auto;line-height:1.9;font-size:12px}.move-timeline .move-number{color:#a3ac9c;padding:0 5px 0 4px;font-size:10px}.move-chip{background:transparent;color:#69765f;border-radius:3px;padding:3px 6px;font-family:Consolas,monospace;font-size:12px}.move-chip.current{background:#e4ebdc;color:#2c5238;font-weight:700}.move-chip.future{color:#b0b8a9}.mode-switch{display:flex;background:#e7ebe1;border-radius:5px;padding:4px;margin-bottom:17px;gap:3px}.mode-switch button{flex:1;padding:9px 4px;font-size:11px;color:#7d8973;background:transparent;border-radius:3px}.mode-switch button.active{background:white;color:#344c33;box-shadow:0 1px 4px #25462012;font-weight:600}.coach{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.coach-head{padding:22px 22px 18px;border-bottom:1px solid var(--line)}.coach-badges{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.badge{font-size:9px;font-weight:600;letter-spacing:.7px;padding:5px 7px;border-radius:3px;background:#edf1e5;color:#5e7651;display:inline-flex;align-items:center;gap:5px}.badge.eco{color:#8c7852;background:#f4efe4}.badge.gray{background:#f0f2ec;color:#8a9382}.favorite{background:transparent;color:#b2b79d;font-size:23px;padding:0}.favorite.on{color:#bb914c}.coach h2{font-family:Georgia,serif;font-weight:400;font-size:27px;line-height:1.15;letter-spacing:-.4px}.opening-fullname{font-size:10px;color:#8d9784;margin-top:9px;line-height:1.5}.coach-summary{font-size:12px;color:#7c8873;line-height:1.75;margin:15px 0 0}.coach-body{padding:19px 22px 21px}.subheading{font-size:10px;color:#8b9681;text-transform:uppercase;letter-spacing:1.1px;margin-bottom:12px}.choice-row{display:flex;gap:7px}.side-button{flex:1;font-size:11px;background:#f5f6f1;color:#86917d;border:1px solid #e5e9dd;border-radius:4px;padding:9px 4px}.side-button.active{color:#345134;border-color:#a7b59a;background:#eef2e6}.depth-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:15px 0;font-size:11px;color:#8a9580}.depth-row select,.filter-select{border:1px solid #dfe5d6;background:#fafbf7;border-radius:4px;color:#596b4d;padding:8px 9px;font-size:11px;max-width:170px}.coach-body>.btn{width:100%;margin:2px 0 0}.learning-note{font-size:9px;color:#9aa38c;text-align:center;line-height:1.6;margin-top:10px}.session-progress{margin:12px 0 16px}.session-progress .meter{background:#edf0e8}.session-progress .meter i{background:#567c51}.session-counter{display:flex;justify-content:space-between;font-size:10px;color:#829176;margin-bottom:8px}.feedback{font-size:12px;line-height:1.65;padding:14px;border:1px solid #e5e9dd;border-radius:5px;background:#f6f8f0;color:#6b7d5b;margin:14px 0}.feedback.error{background:#fbf1ea;color:#a36e52;border-color:#eedacb}.feedback.success{background:#edf5e8;color:#537943;border-color:#d5e5ca}.feedback strong{display:block;color:#365333;margin-bottom:4px;font-size:13px}.feedback.error strong{color:#9d6346}.session-buttons{display:flex;gap:6px;margin-top:10px}.session-buttons .btn{flex:1;padding:9px 5px;font-size:10px}.insight{margin-top:17px;background:#eeeee2;border:1px solid #e2e4d2;border-radius:6px;padding:17px 20px}.insight h3{font-family:Georgia,serif;font-weight:400;font-size:17px;margin-bottom:10px;display:flex;justify-content:space-between}.insight p,.insight li{font-size:11px;color:#7e846a;line-height:1.75}.insight ul{padding-left:17px;margin:9px 0 0}.insight-tabbar{display:flex;gap:13px;border-bottom:1px solid #dce0ca;margin-bottom:12px}.insight-tabbar button{font-size:10px;padding:0 0 9px;background:transparent;color:#92987d}.insight-tabbar button.active{border-bottom:2px solid #7d8e60;color:#5c7048}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:31px 0 15px}.section-title h2{font-family:Georgia,serif;font-weight:400;font-size:23px}.section-title a,.section-title button{font-size:11px;color:#7d8d6a;background:transparent}.starter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.starter-card{background:#fff;border:1px solid var(--line);border-radius:6px;text-align:left;padding:17px 19px;display:flex;gap:13px;align-items:center;transition:border-color .15s,box-shadow .15s}.starter-card:hover{border-color:#aabb9b;box-shadow:0 5px 14px #394a2308}.starter-symbol{width:43px;height:43px;flex-shrink:0;background:#eff0e4;color:#76855f;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:27px}.starter-card h3{font-size:12px;font-weight:600;line-height:1.45}.starter-card p{font-size:9px;color:#98a087;margin-top:5px;line-height:1.6}.starter-card .card-arrow{margin-left:auto;color:#9aa487;font-size:19px}.search-input{width:100%;padding:13px 15px 13px 41px;border:1px solid #dfe5d6;border-radius:5px;background:#fff;color:#3c5236;font-size:12px;min-height:43px}.searchbox{position:relative}.searchbox:before{content:'⌕';position:absolute;left:15px;top:8px;font-size:24px;color:#86967b}.library-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;margin-bottom:17px}.filter-pills{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:21px}.filter-pills button{border:1px solid #e1e6d9;background:transparent;color:#8b967e;font-size:11px;padding:9px 14px;border-radius:30px}.filter-pills button.active{background:#e3ead9;border-color:#d4dfc7;color:#4c6a39}.results-count{font-size:11px;color:#97a088;margin-bottom:13px}.opening-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.opening-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px;display:flex;flex-direction:column;min-width:0}.opening-card:hover{border-color:#c4d0b9}.opening-card .card-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.opening-card h3{font-family:Georgia,serif;font-size:21px;font-weight:400;line-height:1.22;min-height:50px}.opening-card p{font-size:10px;color:#929c85;line-height:1.6;margin:8px 0 12px;min-height:32px}.opening-moves{font:10px/1.8 Consolas,monospace;color:#81916d;background:#f5f7f0;padding:8px 10px;border-radius:3px;max-height:54px;overflow:hidden;margin:0 0 16px;word-break:break-word}.opening-card .card-buttons{display:flex;gap:7px;margin-top:auto}.opening-card .card-buttons .btn{flex:1}.opening-card .favorite{font-size:20px}.pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:25px 0 0;font-size:11px;color:#8b977e}.empty-state{background:#fff;border:1px dashed #ced9c1;border-radius:7px;text-align:center;padding:55px 25px}.empty-state .empty-icon{font-size:42px;color:#aab99a;font-family:Georgia,serif;margin-bottom:15px}.empty-state h2{font-family:Georgia,serif;font-weight:400;font-size:25px;margin-bottom:12px}.empty-state p{font-size:12px;line-height:1.8;color:#8a977c;max-width:470px;margin:0 auto 20px}.queue-banner{padding:22px 25px;background:#e7eddf;border:1px solid #d6e0ca;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.queue-banner h2{font-family:Georgia,serif;font-size:24px;font-weight:400}.queue-banner p{font-size:11px;color:#83916e;line-height:1.7;margin-top:7px}.list-panel{border:1px solid var(--line);background:#fff;border-radius:7px;overflow:hidden}.repertoire-item{padding:18px 22px;display:flex;align-items:center;gap:15px}.repertoire-item+.repertoire-item{border-top:1px solid var(--line)}.repertoire-item .item-content{flex:1;min-width:0}.repertoire-item h3{font-size:13px;font-weight:600}.repertoire-item p{font-size:10px;color:#91a07e;margin-top:6px;line-height:1.6}.mastery-dots{display:flex;gap:4px}.mastery-dots i{width:6px;height:6px;border-radius:50%;background:#e3e9db}.mastery-dots i.on{background:#809b65}.progress-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:7px;padding:24px}.panel h2{font-family:Georgia,serif;font-size:23px;font-weight:400;margin-bottom:9px}.panel p{font-size:11px;line-height:1.8;color:#879579}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:20px 0 12px}.calendar div{aspect-ratio:1;border-radius:4px;background:#f0f3e9;color:#a0ab94;font-size:9px;display:flex;align-items:center;justify-content:center;max-height:46px}.calendar .heat1{background:#dce7cd;color:#7d9465}.calendar .heat2{background:#b5ca9b;color:#53753a}.calendar .heat3{background:#76995c;color:#fff}.calendar .today{box-shadow:inset 0 0 0 2px #ad8f53}.calendar-labels{display:flex;justify-content:space-between;font-size:10px;color:#a1aa94}.progress-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:23px}.progress-summary strong{font-size:24px;font-weight:500;display:block;color:#567547}.progress-summary span{display:block;font-size:9px;color:#9da88c;margin-top:6px;line-height:1.7}.history-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0e7;padding:12px 0;font-size:11px;gap:15px}.history-row:first-of-type{margin-top:15px}.history-row small{display:block;font-size:9px;color:#a1aa94;margin-top:4px}.history-score{font-size:14px;color:#769260;flex-shrink:0}.branches{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.branch{padding:7px 9px;border:1px solid #e0e6d6;background:#fff;color:#6d8258;font:11px Consolas,monospace;border-radius:4px}.branch small{font:9px "Segoe UI",sans-serif;color:#a1ac93;margin-left:5px}.branch.current{background:#edf3e6;border-color:#b9caaa}.branch-label{font-size:9px;color:#a0aa92;margin-top:14px}.label{display:block;font-size:11px;color:#7c8f6c;margin:17px 0 8px}dialog{border:1px solid #dfe6d5;border-radius:9px;background:#fafbf6;padding:0;max-width:570px;width:calc(100% - 32px);color:#35492c;box-shadow:0 25px 90px #10201644}dialog::backdrop{background:#0a1f18a3;backdrop-filter:blur(3px)}.modal-inner{padding:30px}.modal-top{display:flex;align-items:start;justify-content:space-between;gap:20px}.modal-top h2{font-family:Georgia,serif;font-size:29px;font-weight:400}.modal-close{width:29px;height:29px;border-radius:50%;background:#e9eddf;font-size:20px;color:#7d8e6c}.modal-inner>p,.modal-inner li{font-size:12px;line-height:1.85;color:#839574;margin-top:12px}.modal-inner ul{padding-left:20px}.modal-inner .form-input{width:100%;border:1px solid #dbe4ce;border-radius:5px;padding:11px 12px;background:#fff;color:#445e36;font-size:12px}.modal-inner textarea{height:150px;resize:vertical;line-height:1.8;font-family:Consolas,monospace}.modal-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:23px;flex-wrap:wrap}.field-error{color:#ad6951;font-size:11px;line-height:1.7;margin-top:12px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:19px 0;font-size:12px;color:#788d67}.setting-row select{max-width:170px;padding:8px;border:1px solid #d8e2ca;border-radius:4px;background:#fff}.setting-row input[type=checkbox]{accent-color:#5e7d48;width:18px;height:18px}.credits a{color:#657f4e;text-decoration:underline}.credits small{font-size:10px;color:#a1ad92}.result-symbol{font-size:42px;color:#78945e;text-align:center;margin:4px 0 15px}.result-score{font-size:42px;font-weight:500;color:#416b35;text-align:center;line-height:1.1}.result-label{font-size:10px;color:#9ba98a;letter-spacing:1px;text-transform:uppercase;text-align:center;margin:8px 0 24px}.session-finish h3{font-family:Georgia,serif;font-weight:400;font-size:24px;text-align:center;line-height:1.4;margin-bottom:16px}.session-finish p{font-size:11px;line-height:1.8;color:#8a9b79;margin-bottom:17px}.session-finish .btn{width:100%;margin-top:7px}.result-details{display:flex;gap:10px;justify-content:center;font-size:10px;color:#879b72;padding:13px 0 20px;flex-wrap:wrap}.initial-loading{min-height:65vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.loading-knight{font-family:Georgia,serif;color:#9aaa81;font-size:70px}.initial-loading h1{font:32px Georgia,serif;margin:20px 0 10px}.initial-loading p{font-size:12px;color:#93a080}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#203f2d;color:#f4f6ec;padding:13px 20px;border-radius:6px;font-size:12px;line-height:1.6;z-index:90;opacity:0;transition:.2s;pointer-events:none;max-width:min(560px,90vw);box-shadow:0 8px 30px #142f2426}#toast.visible{opacity:1;transform:translate(-50%,0)}.theme-walnut{--light-square:#eddec3;--dark-square:#a17a55}.theme-blue{--light-square:#e2e8e9;--dark-square:#73929c}.mobile-breadcrumb{display:none}.note-box{padding:15px;background:#f1f4e9;border-radius:5px;font-size:11px;line-height:1.8;color:#879a72;margin-top:17px}.promotion-list{display:flex;gap:10px;justify-content:center;margin-top:25px}.promotion-list button{width:80px;height:80px;background:#e4ebd8;border-radius:5px}.promotion-list img{width:90%;height:90%}.library-search-empty{padding:35px;text-align:center;font-size:12px;color:#93a17f}.table-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(min-width:1500px){:root{--sidebar:260px}.sidebar{padding-top:40px}.workspace{gap:36px}.page-title h1{font-size:40px}.coach-head{padding:27px}.coach-body{padding:22px 27px}.coach h2{font-size:31px}}
@media(max-width:1190px){:root{--sidebar:204px}.sidebar{padding-inline:12px}.topbar{padding-inline:27px}main{padding:27px}.page-footer{padding-inline:27px}.workspace{gap:18px;grid-template-columns:minmax(330px,1.3fr) minmax(255px,1fr)}.coach-head{padding:18px}.coach-body{padding:17px 18px}.coach h2{font-size:24px}.page-title h1{font-size:30px}.stat{padding:15px;gap:10px}.starter-card{padding:13px;gap:9px}.starter-symbol{width:34px;height:34px;font-size:23px}.opening-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.starter-card h3{font-size:11px}.starter-card p{font-size:9px}.starter-card .card-arrow{display:none}.insight{padding:16px}.top-actions{gap:12px}.sidebar-caption{font-size:8px;letter-spacing:.8px}}
@media(max-width:960px){:root{--sidebar:80px}.sidebar{padding:25px 10px}.brand{padding:0;justify-content:center}.brand>span:last-child,.sidebar-caption,.main-nav .nav-count,.nav-arrow,.daily-mini,.sidebar-help,.local-note{display:none}.brand-mark{font-size:42px}.main-nav{margin-top:35px;gap:15px}.main-nav a{font-size:0;padding:14px 0;justify-content:center;gap:0}.main-nav .nav-icon{font-size:25px}.main-nav a.active{box-shadow:none;border:1px solid #516345}.topbar{height:67px}.stat-progress{display:none}.stat{padding:13px}.stat-icon{display:none}.page-title p{max-width:420px}.progress-grid{grid-template-columns:1fr}.sidebar-bottom{padding:0}.workspace{grid-template-columns:minmax(300px,1.3fr) minmax(240px,1fr);gap:16px}.depth-row{font-size:10px}.coach-summary{font-size:11px}.page-title h1{font-size:28px}.coach h2{font-size:23px}.coach-head,.coach-body{padding:16px}.stat-strip{margin-bottom:23px}}
@media(max-width:740px){:root{--sidebar:0px}.sidebar{inset:auto 0 0;width:100%;height:65px;padding:0;background:#163126;box-shadow:0 -1px 10px #142d2410;border-top:1px solid #314b35;z-index:25}.sidebar .brand,.sidebar-bottom{display:none}.main-nav{display:flex;justify-content:space-around;gap:0;margin:0;height:100%}.main-nav a{display:flex;flex-direction:column;font-size:9px;gap:5px;flex:1;padding:8px 1px;border-radius:0;color:#9eae94}.main-nav .nav-icon{font-size:22px}.main-nav a.active{box-shadow:inset 0 2px #c3aa6f;background:#2b4532;border:0}.main-shell{padding-bottom:65px;margin:0}.topbar{height:60px;padding:0 18px}.top-crumb{font-size:9px}.crumb-slash{margin:0 12px}.top-actions{gap:10px}.streak{font-size:10px}.avatar{display:none}.icon-button{width:30px;height:30px;font-size:17px}main{padding:24px 18px}.page-title{align-items:flex-start;margin-bottom:20px}.page-title h1{font-size:31px;line-height:1.14;max-width:280px}.page-title p{font-size:11px;margin-top:9px;max-width:300px}.page-title .title-button{display:none}.eyebrow{font-size:9px;letter-spacing:1.4px}.workspace{grid-template-columns:1fr;gap:22px}.board-column{max-width:560px;width:100%;margin:auto}.board-top{margin-bottom:10px}.board-frame{border-width:5px}.square .coord{font-size:9px}.board-top .player-label{font-size:11px}.board-bottom{margin:12px 0}.board-caption{font-size:9px}.move-timeline{max-height:100px;padding:10px}.stat-strip{grid-template-columns:1.25fr 1fr 1fr;margin-bottom:24px}.stat{padding:12px 10px;min-height:71px}.stat strong{font-size:21px}.stat-title{font-size:9px!important}.stat small{font-size:8px}.stat-inline span{font-size:9px}.coach-column{display:flex;flex-direction:column}.mode-switch{order:0}.coach{order:1}.coach h2{font-size:28px}.coach-head,.coach-body{padding:20px}.coach-summary{font-size:12px}.insight{order:2;padding:20px}.insight p,.insight li{font-size:12px}.side-button{font-size:12px;padding:12px}.depth-row{font-size:12px}.coach-body>.btn{font-size:13px;padding:14px}.subheading{font-size:10px}.mode-switch button{padding:12px;font-size:12px}.starter-grid{grid-template-columns:1fr}.starter-card{padding:16px 18px}.starter-card h3{font-size:13px}.starter-card p{font-size:10px}.starter-symbol{width:42px;height:42px;font-size:28px}.starter-card .card-arrow{display:block}.section-title h2{font-size:23px}.section-title{margin-top:28px}.page-footer{padding:0 18px 24px;font-size:9px;gap:12px;line-height:1.6}.page-footer span{max-width:180px}.page-footer button{font-size:9px}.library-toolbar{grid-template-columns:1fr 1fr;gap:9px}.library-toolbar .searchbox{grid-column:1/-1}.filter-select{max-width:none;width:100%;font-size:11px;padding:11px}.filter-pills{gap:6px}.filter-pills button{font-size:10px;padding:8px 11px}.opening-grid{grid-template-columns:1fr}.opening-card h3{min-height:0;font-size:24px}.opening-card p{min-height:0;font-size:11px}.opening-moves{font-size:11px}.opening-card .card-buttons .btn{font-size:12px}.queue-banner{padding:20px;flex-direction:column;align-items:start}.queue-banner .btn{width:100%}.repertoire-item{padding:17px 16px;gap:10px;flex-wrap:wrap}.repertoire-item .item-content{min-width:170px}.repertoire-item .table-actions{width:100%;margin-top:4px}.repertoire-item .table-actions .btn{flex:1}.repertoire-item h3{font-size:13px}.progress-grid{gap:16px}.panel{padding:20px}.modal-inner{padding:24px}.modal-top h2{font-size:26px}.modal-actions .btn{flex:1}.session-buttons .btn{font-size:12px;padding:13px 10px}.feedback{font-size:12px}.turn-pill{font-size:9px}.insight-tabbar button{font-size:11px}.session-counter{font-size:11px}.learning-note{font-size:10px}.branch{font-size:12px;padding:9px 11px}#toast{bottom:80px}.initial-loading{min-height:65vh}.player-label span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.engine-panel{margin-top:19px;background:#fff;border:1px solid #dce4d5;border-radius:7px;overflow:hidden;min-width:0}.engine-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 18px;background:#edf2e7;border-bottom:1px solid #dfe7d7}.engine-head>div{display:flex;align-items:center;gap:9px}.engine-logo{font:25px Georgia,serif;color:#5b7851}.engine-head b{font-size:13px;color:#345538}.engine-head small{font-size:8px;letter-spacing:1px;color:#879775;margin-left:5px}.engine-head button{font-size:10px}.engine-body{padding:16px 18px}.engine-message,.engine-error{font-size:12px;line-height:1.8;color:#758b66}.engine-error{color:#a56343}.engine-pulse{display:inline-block;width:7px;height:7px;background:#8ba76b;border-radius:50%;margin-right:9px;animation:engine-pulse 1s infinite alternate}.engine-eval{display:flex;align-items:center;gap:14px;margin:4px 0 17px}.engine-eval>strong{font-size:29px;font-weight:500;color:#315d3c;min-width:82px}.engine-eval>div{font-size:12px;color:#617951}.engine-eval small{display:block;font-size:10px;color:#98a58a;line-height:1.7;margin-top:4px}.engine-variants-label{font-size:10px;color:#8b9b7b;margin-bottom:9px}.engine-variants{display:grid;gap:7px;min-width:0}.engine-pv{display:flex;align-items:flex-start;gap:12px;text-align:left;background:#f6f8f1;border:1px solid #e3e9da;border-radius:4px;padding:10px;max-width:100%;color:#607a50;font:11px/1.7 Consolas,monospace}.engine-pv:hover{background:#ecf2e3;border-color:#bacbab}.engine-pv b{flex-shrink:0;min-width:42px;color:#406941}.engine-pv span{overflow-wrap:anywhere;min-width:0}.engine-pv i{font-style:normal;margin-left:auto}.engine-note{font-size:9px;color:#9aaa8b;line-height:1.7;margin-top:13px}.engine-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 18px;border-top:1px solid #e8ecdf;background:#fafbf7}.engine-tools label{font-size:10px;color:#879b73;display:flex;align-items:center;gap:7px}.engine-tools select{background:#fff;border:1px solid #dce5cf;border-radius:4px;padding:6px;font-size:10px;color:#637c4f}.engine-tools button{font-size:10px}.move-verdict{padding:13px;background:#f1f5eb;border-left:3px solid #87a76d;border-radius:3px;margin-bottom:18px}.move-verdict>strong{font-size:14px;color:#4b713d}.move-verdict p{font-size:11px;line-height:1.8;color:#7a8e6b;margin-top:8px}.move-verdict small{display:block;font-size:9px;color:#97a787;line-height:1.6;margin-top:9px}.move-verdict.blunder,.move-verdict.mistake{background:#fbf0e9;border-color:#bd7e5d}.move-verdict.blunder>strong,.move-verdict.mistake>strong{color:#a06341}.move-verdict.inaccuracy{background:#faf6e8;border-color:#bfaa65}.score-comparison{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;margin-top:10px;color:#6b825b}@keyframes engine-pulse{to{opacity:.3}}
.mobile-opening,.mobile-side{display:none}
.game-workspace{display:grid;grid-template-columns:minmax(330px,1.4fr) minmax(280px,1fr);gap:24px;align-items:start}.game-board-column{min-width:0}.game-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:24px}.game-card h2{font:28px/1.2 Georgia,serif;margin:14px 0}.game-card>p{font-size:12px;color:#839574;line-height:1.8}.game-select{width:100%;border:1px solid #dce5d0;border-radius:5px;background:#f9fbf5;padding:12px;color:#577448;font-size:12px}.game-start{width:100%;margin-top:15px}.game-note{font-size:10px!important;color:#94a284!important;line-height:1.8!important;margin-top:16px}.game-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;color:#8a9d78}.game-feedback{padding:17px;background:#f1f5e9;border:1px solid #e1e8d7;border-radius:5px;margin:19px 0;color:#4c6d3e}.game-feedback>strong{font-size:16px}.game-feedback p{font-size:11px;line-height:1.7;color:#82966d;margin-top:8px}.game-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.game-buttons>.btn{flex:1}.game-result{text-align:center;padding:10px 0 19px}.game-result>strong{font-size:42px;font-weight:500;color:#557746}.game-result h3{font:24px Georgia,serif;margin:13px 0}.game-result p{font-size:11px;color:#91a17f}.game-review-state{font-size:12px;color:#6a8655;line-height:1.8;margin-top:20px}.game-history-row{display:flex;width:100%;text-align:left;gap:20px;align-items:center;justify-content:space-between;padding:19px 22px;background:#fff;color:#607c4e;border-bottom:1px solid #e7ecdf}.game-history-row:last-child{border:0}.game-history-row>span{flex:1;min-width:0}.game-history-row strong{font-size:13px}.game-history-row small{display:block;font-size:10px;color:#9caa8c;line-height:1.8;margin-top:6px}.game-history-row>b{font-weight:500;flex-shrink:0}.game-history-row>i{font-style:normal;font-size:11px;color:#93a37f}.game-history .section-title>span{font-size:10px;color:#a0ad91}.play-preview .chessboard{pointer-events:none}.play-preview .board-top{font-size:11px;color:#8c9d7b}.game-input-message{font-size:12px;line-height:1.8;color:#af7250;margin-top:10px}.game-report{margin-top:27px}.review-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.review-summary span{background:#eef2e7;border-radius:5px;padding:15px;font-size:10px;color:#8d9e7c}.review-summary b{display:block;font-weight:500;font-size:27px;color:#5e7c4c;margin-bottom:6px}.review-detail{background:#fff;border:1px solid #dae4d0;border-left:4px solid #829e68;border-radius:6px;padding:22px;margin-bottom:17px}.review-detail.blunder,.review-detail.mistake{border-left-color:#bd7c5a}.review-detail.inaccuracy{border-left-color:#bba360}.review-title{display:flex;justify-content:space-between;gap:15px;align-items:start;color:#577347}.review-title>strong{font-size:16px;line-height:1.6}.review-title>span{font-size:22px;flex-shrink:0}.review-detail p{font-size:12px;color:#839571;line-height:1.85;margin-top:10px}.review-detail small{font-size:9px;color:#a1ae91;display:block;margin-top:16px;line-height:1.8}.review-pv{padding:13px;background:#f3f6ee;border-radius:4px;margin-top:17px;display:flex;gap:15px;align-items:center;justify-content:space-between}.review-pv>span{font-size:11px;color:#81956e;line-height:1.8}.review-pv b{font:12px/1.8 Consolas,monospace;color:#5f7d4e;overflow-wrap:anywhere}.review-pv .btn{flex-shrink:0}.game-review-list{max-height:440px;overflow:auto;border:1px solid #e0e7d7;border-radius:6px}.game-review-row{display:flex;align-items:center;gap:20px;width:100%;text-align:left;background:#fff;border-bottom:1px solid #e7ecdf;padding:13px 18px;color:#859b73}.game-review-row:last-child{border:0}.game-review-row>strong{min-width:100px;font-size:12px;color:#5a7949}.game-review-row>span{flex:1;font-size:11px}.game-review-row>b{font-size:13px;font-weight:500}.game-review-row.blunder,.game-review-row.mistake{color:#aa7351}.game-review-row.active{background:#edf3e4}.view-play .page-title h1{font-size:34px}.view-play .move-timeline{max-height:165px}
@media(max-width:960px){.game-workspace{grid-template-columns:minmax(300px,1.25fr) minmax(240px,1fr);gap:17px}.game-card{padding:19px}.game-card h2{font-size:25px}.review-pv{flex-direction:column;align-items:start}.game-history-row{gap:12px}}
@media(max-width:740px){.game-workspace{grid-template-columns:1fr;gap:20px}.game-board-column{max-width:560px;width:100%;margin:auto}.game-card{padding:22px}.game-select{font-size:13px;min-height:44px}.game-card>.btn,.game-buttons>.btn{font-size:12px;padding:13px 8px}.game-history-row{padding:16px;gap:12px}.game-history-row>i{display:none}.game-history-row small{font-size:9px}.review-summary{grid-template-columns:repeat(2,1fr);gap:10px}.review-summary span{padding:13px}.review-detail{padding:17px}.review-title>strong{font-size:14px}.review-title>span{font-size:20px}.game-review-row{gap:10px;padding:13px 12px}.game-review-row>strong{min-width:72px}.game-review-row>span{font-size:10px}.game-report .section-title{align-items:start}.game-report .section-title button{max-width:150px;text-align:right;line-height:1.6}.view-play .page-title h1{font-size:29px}.view-play .page-title p{display:none}.view-play .page-title>.btn{display:none}.view-play .player-label{display:flex}.view-play .board-top{gap:10px}.view-play .game-meta{font-size:10px}.game-history .section-title{align-items:start}.game-history .section-title>span{max-width:100px;text-align:right;line-height:1.7}}
@media(max-width:740px){.view-train .page-title p{display:none}.view-train .page-title h1{font-size:27px;max-width:340px}.view-train .page-title{margin-bottom:18px}.workspace{display:flex;flex-direction:column;gap:0}.board-column{order:1}.coach-column{display:contents}.mode-switch{order:0;width:100%;margin-bottom:16px}.coach{order:2;margin-top:20px;width:100%}.insight{order:3;width:100%}.mobile-opening{display:block;font-size:13px;font-weight:600;color:#536b42;margin-bottom:11px}.mobile-opening span{font-weight:400;font-size:10px;color:#96a585;margin-right:7px}.mobile-side{display:block;border:1px solid #dfe5d6;background:#f9faf5;border-radius:4px;color:#6d815a;padding:6px 8px;font-size:10px}.board-top .player-label{display:none}}

.mode-switch button{min-width:0}.analysis-mode .engine-panel{margin:0 0 18px}.analysis-mode .engine-body{padding:16px}.analysis-mode .engine-pv{gap:8px;font-size:10px}.analysis-mode .engine-tools{padding:10px 16px}.analysis-mode .engine-eval{gap:8px}.analysis-mode .engine-eval>strong{min-width:70px}.analysis-mode .score-comparison{gap:9px}
@media(max-width:960px){.mode-switch button{font-size:10px}}
@media(max-width:740px){.mode-switch button{font-size:11px;padding:12px 4px}.analysis-mode .engine-panel{order:2;width:100%;margin:20px 0 0}.analysis-mode .coach{order:3}.analysis-mode .engine-pv{font-size:11px}.engine-tools{padding-inline:12px}.engine-tools button{font-size:9px}.engine-tools label{font-size:9px}}

@media(min-width:741px){.game-review-mode .game-board-column{position:sticky;top:20px}.game-review-mode .review-summary{grid-template-columns:repeat(2,1fr)}.game-review-mode .game-report .section-title{align-items:start;gap:10px}.game-review-mode .game-report .section-title h2{font-size:22px}.game-review-mode .game-report .section-title button{max-width:125px;text-align:right;line-height:1.6}.game-review-mode .review-detail{padding:17px}.game-review-mode .review-title>strong{font-size:14px}.game-review-mode .review-title>span{font-size:19px}.game-review-mode .review-pv{flex-direction:column;align-items:start}.game-review-mode .game-review-row{gap:8px;padding-inline:12px}.game-review-mode .game-review-row>strong{min-width:65px}.game-review-mode .game-review-row>span{font-size:10px}}
@media(max-width:740px){.play-preview{order:1}.game-workspace>.game-card{order:0}}

/* Tactics practice */
.puzzle-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;border-radius:7px;margin-bottom:20px}.puzzle-stats>div{padding:18px 22px}.puzzle-stats>div+div{border-left:1px solid var(--line)}.puzzle-stats strong{display:block;font-size:25px;font-weight:500;color:var(--green)}.puzzle-stats strong small{font-size:13px;color:#9ba78e}.puzzle-stats span{display:block;font-size:9px;letter-spacing:.55px;color:#8e9d81;margin-top:7px;line-height:1.6}.puzzle-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:end;flex-wrap:wrap}.puzzle-modes{display:flex;gap:4px;padding:4px;background:#e7ece0;border-radius:6px}.puzzle-modes button{background:transparent;color:#7b8d6a;border-radius:4px;font-size:11px;padding:11px 13px;white-space:nowrap}.puzzle-modes button.active{background:#fff;color:#365535;box-shadow:0 1px 5px #1b392212}.puzzle-selects{display:flex;gap:12px}.puzzle-selects label{font-size:9px;color:#93a083;display:block}.puzzle-selects select{display:block;margin-top:6px;border:1px solid #dce4d2;background:#fff;color:#5d754b;border-radius:4px;padding:10px;font-size:11px;max-width:230px;min-height:38px}.puzzle-pool{font-size:10px;color:#92a181;margin:13px 0 20px;line-height:1.7}.puzzle-workspace .board-top{font-size:11px;color:#829374}.puzzle-coach{min-width:0}.puzzle-coach .game-buttons>.btn{font-size:11px;white-space:normal}.puzzle-coach .feedback{margin:17px 0}.puzzle-counter{margin-top:22px}.puzzle-skip{font-size:10px;color:#8e9d7e;margin-top:20px;text-align:left;line-height:1.8}.puzzle-caption{line-height:1.7;margin-top:11px}.puzzle-setup-move{font:11px Consolas,monospace;color:#a0ab93;padding:4px 7px}.puzzle-result{text-align:center;padding:8px 0 4px}.puzzle-result>div{width:52px;height:52px;margin:auto;background:#f1eddf;color:#b39456;border-radius:50%;display:grid;place-items:center;font-size:30px}.puzzle-result.clean>div{background:#e8f1df;color:#6d9152}.puzzle-result h2{font-size:26px}.puzzle-result p{font-size:11px;line-height:1.8;color:#8fa080}.puzzle-themes{display:flex;flex-wrap:wrap;gap:6px;margin:22px 0 12px}.puzzle-themes span{font-size:9px;background:#eef1e7;color:#7a9065;padding:6px 8px;border-radius:4px}.puzzle-lesson{font-size:12px!important;line-height:1.9!important}.puzzle-source{display:block;font-size:10px;color:#799263;margin-top:18px;line-height:1.8}.puzzle-data-panel{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#edf1e6;border:1px solid #e0e7d5;border-radius:6px;padding:21px 24px;margin-top:30px}.puzzle-data-panel h3{font:20px Georgia,serif;color:#566c45}.puzzle-data-panel p{font-size:11px;color:#8fa080;margin-top:8px;line-height:1.8}.puzzle-data-panel .game-buttons{margin:0;flex-shrink:0}.puzzle-license{font-size:10px;color:#9ba78f;line-height:1.8;margin-top:15px}.puzzle-license a{text-decoration:underline;text-underline-offset:2px}.puzzle-empty{min-height:330px}
@media(max-width:1100px){.puzzle-toolbar{align-items:start}.puzzle-selects{flex:1}.puzzle-selects label{flex:1}.puzzle-selects select{width:100%;max-width:none}.puzzle-data-panel{flex-wrap:wrap}}
@media(max-width:740px){.main-nav{grid-template-columns:repeat(6,minmax(0,1fr))}.main-nav a{font-size:9px;gap:6px;min-width:0;padding:9px 1px}.puzzle-stats{margin-bottom:18px}.puzzle-stats>div{padding:12px 10px}.puzzle-stats strong{font-size:22px}.puzzle-stats span{font-size:7px;letter-spacing:0;line-height:1.6}.puzzle-toolbar{gap:15px}.puzzle-modes{width:100%}.puzzle-modes button{flex:1;font-size:10px;padding:11px 5px}.puzzle-selects{width:100%;flex-basis:100%;gap:10px;min-width:0}.puzzle-selects label{min-width:0}.puzzle-selects select{font-size:11px;min-height:44px}.puzzle-pool{font-size:9px;margin-bottom:16px}.view-puzzles .page-title h1{font-size:29px}.view-puzzles .page-title p{font-size:10px;line-height:1.8}.view-puzzles .eyebrow{font-size:8px}.puzzle-workspace .game-board-column{order:0}.puzzle-workspace>.puzzle-coach{order:1}.puzzle-workspace{gap:17px}.puzzle-coach{padding:20px}.puzzle-caption{font-size:10px}.puzzle-data-panel{padding:20px}.puzzle-data-panel .game-buttons{width:100%}.puzzle-data-panel .btn{font-size:10px}.puzzle-license{font-size:9px}.puzzle-empty{min-height:250px;padding:35px 20px}}

.puzzle-rating-panel{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:18px 22px;margin-bottom:18px;border:1px solid #d3dfc7;background:#edf2e7;border-radius:7px}.puzzle-rating-number{min-width:205px}.puzzle-rating-number>span{font-size:9px;color:#7b8f69;letter-spacing:.7px}.puzzle-rating-number>div{display:flex;align-items:baseline;gap:11px;margin-top:6px}.puzzle-rating-number strong{font-size:34px;font-weight:500;color:var(--green);line-height:1.15}.puzzle-rating-number b{font-size:14px;font-weight:500}.puzzle-rating-number small{font-size:9px;color:#93a180}.puzzle-rating-plan{flex:1;min-width:200px}.puzzle-rating-plan>strong{font-size:11px;color:#627c50;font-weight:600}.puzzle-rating-plan p{font-size:11px;color:#839573;line-height:1.8;margin-top:6px}.puzzle-rating-help{flex-basis:100%;border-top:1px solid #dce5d2;padding-top:10px;margin-top:-10px;color:#7c926a;font-size:10px}.puzzle-rating-help summary{cursor:pointer;width:fit-content}.puzzle-rating-help>p{line-height:1.9;margin-top:12px;max-width:850px}.puzzle-rating-history{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.puzzle-rating-history span{border:1px solid #dae4d0;border-radius:4px;background:#f6f9f1;padding:6px 9px;font-size:11px}.puzzle-rating-panel .up,.puzzle-rating-status.up{color:#52793d}.puzzle-rating-panel .down,.puzzle-rating-status.down{color:#a56a4b}.puzzle-rating-status{margin-top:18px;padding:12px 14px;border:1px solid #e1e7d8;border-radius:5px;background:#f6f8f1;color:#7c906b}.puzzle-rating-status strong{font-size:25px;font-weight:500}.puzzle-rating-status strong span{font-size:13px;color:#8c9e7b}.puzzle-rating-status p{font-size:10px;line-height:1.8;margin-top:6px}.puzzle-rating-rule{padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:740px){.puzzle-rating-panel{gap:12px;padding:15px 17px;margin-bottom:14px}.puzzle-rating-number{min-width:0;width:100%}.puzzle-rating-number>div{gap:12px}.puzzle-rating-number strong{font-size:31px}.puzzle-rating-number small{margin-left:auto;font-size:9px}.puzzle-rating-plan{min-width:0}.puzzle-rating-plan p{font-size:10px;line-height:1.7}.puzzle-rating-help{margin-top:0;padding-top:9px;font-size:10px}.puzzle-rating-panel>div>span{font-size:8px}}

/* Rating history and learning diagnostics */
.puzzle-view-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:0 0 23px;font-size:12px;color:#8c9b7b}.puzzle-view-tabs a{padding:0 0 13px}.puzzle-view-tabs a[aria-current]{color:#315d3f;border-bottom:2px solid #6f8d5b;font-weight:600}.puzzle-insights-link{font-size:10px;font-weight:600;color:#5b7a48;margin-left:auto;white-space:nowrap}.analytics-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:27px 0 20px}.analytics-heading h2{font:26px Georgia,serif}.analytics-heading p{font-size:11px;color:#90a07f;line-height:1.8;margin-top:8px}.analytics-period{display:flex;gap:3px;background:#e7ece0;padding:4px;border-radius:5px;white-space:nowrap}.analytics-period button{background:transparent;color:#8b9c7a;font-size:10px;padding:10px 11px;border-radius:3px}.analytics-period button[aria-pressed=true]{background:#fff;color:#426238;box-shadow:0 1px 4px #25462010}.analytics-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:25px;margin-bottom:22px;min-width:0}.analytics-card-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:18px}.analytics-card-head h2{font:26px Georgia,serif;color:#354c2d}.analytics-card-head .eyebrow{font-size:8px;margin-bottom:8px;display:block}.analytics-card-head p{font-size:11px;color:#91a17f;line-height:1.8;margin-top:10px}.analytics-card-head>strong{font-size:33px;font-weight:500;color:var(--green)}.chart-total{text-align:right}.chart-total>strong{display:block;font-size:33px;font-weight:500;color:var(--green)}.chart-total>span{display:block;font-size:10px;white-space:nowrap;margin-top:6px}.rating-chart{width:100%;display:block;overflow:visible}.rating-chart text{fill:#9aa88a;font:10px Inter,"Segoe UI",sans-serif}.chart-grid{stroke:#e9eee1;stroke-width:1}.chart-area{fill:#eef3e7;opacity:.8}.chart-line{fill:none;stroke:#73965a;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-dot{stroke:#fff;stroke-width:1;cursor:pointer}.chart-dot.win{fill:#608946}.chart-dot.loss{fill:#bb8b64}.chart-baseline{fill:#a9b89c}.chart-selection{stroke:#b4c7a2;stroke-width:1;stroke-dasharray:3 4;pointer-events:none}.chart-selected{fill:#d8b778;stroke:#fff;stroke-width:2;pointer-events:none}.chart-slider-label{display:flex;justify-content:space-between;color:#8f9f7e;font-size:10px;margin:8px 0 4px}#rating-point{width:100%;margin:4px 0 16px;accent-color:#6b8e52;height:26px;cursor:pointer}.chart-selected-result{padding:16px 19px;background:#f3f6ec;border:1px solid #e5ebdb;border-radius:5px;display:flex;justify-content:space-between;gap:20px;align-items:center}.chart-selected-result strong{font-size:28px;font-weight:500;color:#4f743b}.chart-selected-result b{font-size:13px;font-weight:500;margin-left:6px}.chart-selected-result span{display:block;font-size:9px;color:#9aa88a;margin-top:6px}.chart-selected-result p{font-size:11px;line-height:1.8;color:#859b70;text-align:right}.analytics-card .up{color:#618b46}.analytics-card .down{color:#b37d55}.analytics-caption{font-size:10px;line-height:1.9;color:#99a78b;margin-top:16px}.analytics-scope{margin:0 0 24px}.analytics-sort-label{font-size:9px;color:#96a686;flex-shrink:0}.analytics-sort-label select{display:block;margin-top:6px;padding:9px;border:1px solid #dfe6d5;background:#fafcf7;color:#6e875a;border-radius:4px;font-size:10px}.topic-stat-row{display:grid;grid-template-columns:minmax(160px,1.15fr) 65px minmax(180px,1.25fr) 145px;gap:18px;align-items:center;padding:20px 0;border-top:1px solid #e8eddf}.topic-stat-name h3{font-size:13px;color:#526f3e;line-height:1.5}.topic-sample{font-size:9px;color:#92a27f;line-height:1.7;display:block;margin-top:5px}.topic-sample.weak{color:#b58359}.topic-sample.small{color:#a4ad96}.topic-accuracy-meter{height:4px;background:#edf1e5;border-radius:10px;overflow:hidden;margin-top:10px;max-width:180px}.topic-accuracy-meter i{display:block;height:100%;background:#94ad78}.topic-stat-score strong{display:block;font-size:23px;font-weight:500;color:#66834e}.topic-stat-score span{display:block;font-size:9px;color:#a1ad91;white-space:nowrap;margin-top:5px}.topic-stat-detail span{display:block;font-size:9px;color:#97a588;line-height:2.2}.topic-stat-detail b{font-weight:500;color:#81966c}.topic-stat-actions{display:grid;gap:7px}.topic-stat-actions .btn{font-size:10px;padding-inline:8px;white-space:normal}.analytics-empty{padding:38px 18px;text-align:center;background:#fafcf7;border:1px dashed #e0e7d5;border-radius:5px}.analytics-empty>span{font-size:35px;color:#b5c29f}.analytics-empty h3{font:24px Georgia,serif;margin:10px 0;color:#6d8459}.analytics-empty p{font-size:11px;line-height:1.9;color:#9aa78d;max-width:460px;margin:0 auto 18px}.analytics-empty.compact{padding:23px}.analytics-empty.compact h3{font-size:21px}.analytics-empty.compact p{margin-bottom:0}.analytics-loading{font-size:11px;color:#839b6c;margin:12px 0 20px;line-height:1.8}.analytics-load-error{font-size:11px;color:#ad7d59;line-height:1.8;margin:12px 0 20px;padding:12px;background:#fcf6ed;border-radius:4px}.analytics-load-error button{text-decoration:underline;margin-left:7px}.difficult-stat-row{display:grid;grid-template-columns:minmax(160px,1fr) 100px 125px;gap:20px;align-items:center;padding:19px 0;border-top:1px solid #e8eddf}.difficult-stat-row>div>strong{font-size:13px;color:#64824d}.difficult-stat-row p{font-size:10px;line-height:1.8;color:#97a787;margin-top:6px}.difficult-stat-row small{font-size:9px;color:#acb59b;line-height:1.6;display:block;margin-top:5px}.difficult-stat-score strong{font-size:22px!important;font-weight:500}.difficult-stat-score span{display:block;color:#a5b092;font-size:9px;line-height:1.7;margin-top:5px}
@media(max-width:1100px){.analytics-heading{align-items:start;flex-wrap:wrap}.topic-stat-row{grid-template-columns:minmax(140px,1fr) 62px 140px;gap:15px}.topic-stat-detail{grid-column:1/3;grid-row:2}.topic-stat-actions{grid-column:3;grid-row:1/3}.topic-stat-score{text-align:right}.analytics-card{padding:22px}.puzzle-insights-link{margin-left:0}}
@media(max-width:740px){.puzzle-view-tabs{gap:22px;margin-bottom:19px;font-size:11px}.puzzle-view-tabs a{padding-bottom:12px}.puzzle-insights-link{font-size:10px;width:100%;margin-top:0}.analytics-heading{gap:15px;margin-top:23px}.analytics-heading h2{font-size:25px}.analytics-heading p{font-size:10px}.analytics-period{width:100%}.analytics-period button{flex:1;padding:11px 5px}.analytics-card{padding:19px;margin-bottom:18px}.analytics-card-head{flex-wrap:wrap;gap:13px}.analytics-card-head h2{font-size:24px}.rating-chart-card .analytics-card-head{flex-wrap:nowrap}.analytics-card-head .eyebrow{font-size:7px}.chart-total>strong{font-size:29px}.chart-total>span{font-size:9px}.rating-chart text{font-size:19px}.chart-selected-result{padding:13px;align-items:start;flex-wrap:wrap;gap:13px}.chart-selected-result strong{font-size:27px}.chart-selected-result p{text-align:left;font-size:10px}.analytics-caption{font-size:9px}.topic-stat-row{grid-template-columns:minmax(0,1fr) 66px;gap:12px;padding:19px 0}.topic-stat-name h3{font-size:13px}.topic-stat-score{text-align:right}.topic-stat-detail{grid-column:1/3;grid-row:2}.topic-stat-actions{grid-column:1/3;grid-row:3;display:flex;gap:8px}.topic-stat-actions>.btn{flex:1;min-height:39px}.topic-stat-detail span{font-size:9px;line-height:2}.analytics-sort-label{width:100%}.analytics-sort-label select{width:100%;min-height:40px;font-size:11px}.analytics-card-head>button{width:100%}.difficult-stat-row{grid-template-columns:minmax(0,1fr) 83px;gap:12px;padding:18px 0}.difficult-stat-row>.btn{grid-column:1/3}.difficult-stat-score{text-align:right}.difficult-stat-score span{font-size:8px}.analytics-empty{padding:28px 15px}.analytics-empty h3{font-size:23px}.analytics-empty p{font-size:10px}}

/* Achievements */
.achievement-notice{display:flex;align-items:center;gap:16px;padding:20px 22px;background:#f8f0dc;border:1px solid #e4d2a0;border-radius:7px;margin:0 0 22px;color:#795d2d}.achievement-notice-icon{font-size:34px;color:#b68e40}.achievement-notice>div{flex:1;min-width:0}.achievement-notice strong{font-size:13px}.achievement-notice p{font-size:11px;line-height:1.8;margin:5px 0}.achievement-notice a{font-size:10px;text-decoration:underline;text-underline-offset:3px}.achievement-notice>button{font-size:25px;min-width:35px;min-height:40px;color:#9b814d}.achievement-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border:1px solid #dedfc9;border-radius:7px;background:#f5f4e9;margin:24px 0}.achievement-link .eyebrow{font-size:8px;color:#9a9473}.achievement-link h2{font:25px Georgia,serif;color:#5b633b;margin-top:8px;line-height:1.4}.achievement-link small{font:14px Inter,'Segoe UI',sans-serif;color:#9a9c7b;white-space:nowrap}.achievement-link p{font-size:11px;line-height:1.9;color:#8f987c;margin-top:8px}.achievement-link>.btn{flex-shrink:0}.achievements-overview{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:29px;background:#1f4436;border-radius:7px;color:#e8eddf;margin-bottom:30px}.achievements-overview .eyebrow{font-size:8px;color:#bacbb2}.achievements-overview h2{font:52px Georgia,serif;margin-top:12px}.achievements-overview h2 small{font-size:25px;color:#a6b99b}.achievements-overview p{font-size:11px;color:#b9c9b0;margin-top:6px}.achievements-summary{display:grid;gap:17px;min-width:190px}.achievements-summary span{font-size:11px;color:#c3d1ba;line-height:1.7}.achievements-summary b{font-size:20px;font-weight:400;color:#e9dab1;margin-right:7px}.achievement-group{margin:30px 0}.achievement-group-heading{margin-bottom:20px}.achievement-group-heading h2{font:28px Georgia,serif;color:#3f5d33}.achievement-group-heading p{font-size:11px;line-height:1.9;color:#879b74;margin-top:10px}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.achievement-card{min-width:0;background:#fff;border:1px solid #e1e7d8;border-radius:7px;padding:23px;display:flex;flex-direction:column}.achievement-card.earned{border-color:#d9c18a;background:linear-gradient(150deg,#fffcf3,#f6f1df)}.achievement-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.achievement-medal{width:57px;height:57px;display:grid;place-items:center;flex-shrink:0;background:#edf0e6;color:#91a27d;border:1px solid #dae2cc;border-radius:50%;font:28px Georgia,serif}.achievement-medal.streak{font-size:19px}.earned .achievement-medal{color:#94722d;border-color:#d2b56e;background:radial-gradient(circle at 35% 25%,#fff4ce,#e4ce91);box-shadow:0 4px 12px #9e7d2a12}.achievement-state{font-size:7px;letter-spacing:.6px;color:#9ba88c}.earned .achievement-state{color:#9b7e3b}.achievement-card h3{font:23px Georgia,serif;color:#546c44;line-height:1.25;margin-bottom:12px}.achievement-card.earned h3{color:#77602d}.achievement-card>p{font-size:11px;line-height:1.85;color:#8c9e7b;margin-bottom:20px}.achievement-card-progress{margin-top:auto}.achievement-card-progress>span{font-size:9px;line-height:1.8;color:#8a9e75;display:block}.earned .achievement-card-progress>span{color:#a68a4c}.achievement-card progress{display:block;width:100%;height:5px;border:0;border-radius:8px;overflow:hidden;margin-top:10px;background:#edf1e6;accent-color:#799959}.achievement-card progress::-webkit-progress-bar{background:#edf1e6;border-radius:8px}.achievement-card progress::-webkit-progress-value{background:#8ea96f;border-radius:8px}.achievement-card.earned progress::-webkit-progress-value{background:#b89a50}.achievement-card>a{font-size:10px;color:#68874e;display:block;margin-top:18px;line-height:1.8}.achievement-theme-panel{padding:26px;background:#fff;border:1px solid var(--line);border-radius:7px;margin-top:35px}.achievement-rules{font-size:11px;line-height:1.9;color:#8a9d77;background:#f4f7ed;border-radius:5px;padding:16px;margin-bottom:20px}.achievement-rules summary{color:#6d8558;cursor:pointer}.achievement-rules p{margin-top:12px}.achievement-theme-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid #e6ecdd}.achievement-theme-row>div{min-width:0}.achievement-theme-row h3{font-size:14px;color:#567343}.achievement-theme-row p{font-size:11px;color:#7b9369;line-height:1.9;margin-top:7px}.achievement-theme-row small{font-size:10px;color:#9aa88d;line-height:1.9;display:block;margin-top:6px}.achievement-theme-row .btn{flex-shrink:0;font-size:10px}.achievement-themes-empty{text-align:center;padding:26px 18px;background:#fafbf7;border:1px dashed #e0e7d4;border-radius:5px}.achievement-themes-empty>span{font-size:31px;color:#b4c39c}.achievement-themes-empty h3{font:23px Georgia,serif;color:#6e8659;margin-top:10px}.achievement-themes-empty p{font-size:11px;line-height:1.9;color:#94a682;margin:13px auto 20px;max-width:450px}.achievement-save-note{font-size:10px;color:#98a78b;line-height:1.9;margin:22px 0}.achievements-loading{font-size:11px;color:#839b6d;padding:14px;background:#eff4e7;border-radius:5px;margin-bottom:20px}.achievements-loading button{font-size:11px;text-decoration:underline;margin-left:10px}
@media(max-width:1200px){.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-card{padding:21px}.achievement-state{letter-spacing:0}.achievements-overview{padding:25px}.achievement-link{flex-wrap:wrap}}
@media(max-width:740px){.achievement-grid{grid-template-columns:minmax(0,1fr);gap:13px}.achievement-card{padding:21px}.achievement-card-top{margin-bottom:18px}.achievement-state{font-size:8px}.achievement-card h3{font-size:24px}.achievement-card>p{font-size:11px}.achievement-group-heading h2{font-size:26px}.achievement-group-heading p{font-size:10px}.achievements-overview{padding:23px 21px;align-items:start;flex-direction:column;gap:20px;margin-bottom:25px}.achievements-overview h2{font-size:46px}.achievements-summary{width:100%;gap:12px;border-top:1px solid #ffffff20;padding-top:18px}.achievements-summary span{font-size:10px}.achievement-notice{padding:16px;gap:12px;align-items:start}.achievement-notice-icon{font-size:30px}.achievement-notice strong{font-size:12px}.achievement-notice p{font-size:10px}.achievement-notice>button{min-width:28px}.achievement-link{padding:20px;gap:15px}.achievement-link h2{font-size:24px}.achievement-link p{font-size:10px}.achievement-link>.btn{width:100%;font-size:11px}.achievement-theme-panel{padding:19px;margin-top:28px}.achievement-rules{padding:13px;font-size:10px}.achievement-theme-row{align-items:start;flex-direction:column;gap:14px}.achievement-theme-row>.btn{width:100%}.achievement-theme-row p{font-size:10px}.achievement-themes-empty{padding:24px 14px}.achievement-themes-empty h3{font-size:23px}.achievement-themes-empty p{font-size:10px}.achievement-save-note{font-size:9px}}

/* Activity calendar and daily streak */
.training-streak-prompt{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 22px;border:1px solid #d6e1c9;border-radius:7px;background:#edf3e6;margin:22px 0}.training-streak-prompt strong{font:31px Georgia,serif;color:#4d743e;margin-right:10px}.training-streak-prompt span{font-size:12px;color:#5e7b4e}.training-streak-prompt p{font-size:11px;color:#728666;margin-top:6px;line-height:1.7}.training-streak-prompt a{font-size:11px;color:#4c703e;white-space:nowrap}.training-calendar{background:#fff;border:1px solid var(--line);border-radius:7px;padding:26px;margin:0 0 26px;min-width:0}.training-streak-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.training-streak-stats>div{padding:20px;background:#f1f5eb;border-radius:5px}.training-streak-stats strong{font:36px Georgia,serif;color:#4e743c;display:block}.training-streak-stats span{font-size:9px;letter-spacing:.6px;color:#7b8e6c;display:block;margin-top:9px}.training-streak-message{margin:20px 0 27px;padding-left:14px;border-left:3px solid #b4c991;line-height:1.8}.training-streak-message strong{display:block;font-size:13px;font-weight:500;color:#4e6b3e}.training-streak-message>span{display:block;font-size:11px;color:#7a8d69;margin-top:5px}.training-calendar-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(210px,1fr);gap:30px;align-items:start}.training-month-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.training-month-nav h2{font:25px Georgia,serif;text-transform:capitalize;color:#3d5b32;margin-top:7px}.training-month-nav .eyebrow{font-size:8px;color:#829573}.training-month-nav>div:last-child{display:flex;align-items:center;gap:4px}.training-month-nav button{min-width:34px;min-height:40px}.training-month-nav .plain{font-size:10px;color:#6e8659;padding:5px}.training-month-nav button:disabled{opacity:.3;cursor:default}.training-weekdays,.training-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.training-weekdays{text-align:center;font-size:10px;color:#8b9c7a;margin-bottom:10px}.training-month-grid{gap:6px}.training-day{min-width:0;min-height:53px;border:1px solid #e7edde;border-radius:5px;background:#f7f9f3;color:#849672;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;font-size:13px;position:relative}.training-day i{height:9px;line-height:9px;font-style:normal;font-size:8px;color:#729252}.training-day.trained{background:#dfeccb;border-color:#c9dcaf;color:#426133}.training-day.plan-complete i{color:#a38136;font-weight:700;font-size:12px}.training-day.today{box-shadow:inset 0 0 0 1px #a58748}.training-day[aria-pressed=true]{outline:2px solid #5b7847;outline-offset:1px}.training-day:focus-visible{outline:3px solid #304f2d;outline-offset:2px}.training-day.future{opacity:.4;cursor:default}.training-calendar-legend{display:flex;gap:13px;flex-wrap:wrap;font-size:9px;color:#7f9170;margin-top:18px;line-height:1.7}.training-calendar-legend>span{display:flex;align-items:center;gap:6px}.training-calendar-legend i{width:12px;height:12px;border-radius:3px;display:inline-grid;place-items:center;font-style:normal}.training-calendar-legend .trained{background:#dfeccb;border:1px solid #c9dcaf}.training-calendar-legend .plan-complete{color:#9a7935;font-size:13px}.training-calendar-legend .today{border:1px solid #a58748}.training-day-detail{background:#f5f7ef;border:1px solid #e4eadb;border-radius:6px;padding:22px;min-width:0}.training-day-detail .eyebrow{font-size:8px}.training-day-detail h3{font:23px Georgia,serif;color:#466436;margin-top:10px;line-height:1.4}.training-day-status{font-size:11px;color:#6e8659;line-height:1.8;margin:15px 0}.training-day-detail ul{list-style:none;padding:0;margin:16px 0 22px}.training-day-detail li{font-size:11px;color:#9aa78c;line-height:1.7;margin:12px 0}.training-day-detail li.done{color:#54763e}.training-day-detail .btn{width:100%;font-size:11px;white-space:normal}.training-day-detail p,.training-calendar-note{font-size:10px;color:#8a9b79;line-height:1.9;margin-top:20px}.training-calendar-note{border-top:1px solid #e9eedf;padding-top:18px}.view-progress>.training-calendar{margin-top:24px}
@media(max-width:1100px){.training-calendar-layout{grid-template-columns:minmax(0,1fr)}.training-day-detail ul{display:flex;flex-wrap:wrap;gap:0 18px;margin-bottom:13px}.training-day-detail .btn{width:auto}.training-day-detail{padding:20px}.training-day{min-height:55px}}
@media(max-width:740px){.puzzle-view-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.puzzle-view-tabs a{white-space:normal}.training-calendar{padding:18px;margin-bottom:20px}.training-streak-stats{gap:7px}.training-streak-stats>div{padding:14px 9px}.training-streak-stats strong{font-size:29px}.training-streak-stats span{font-size:7px;line-height:1.6;letter-spacing:0}.training-streak-message{margin:18px 0 22px;padding-left:11px}.training-streak-message strong{font-size:12px}.training-streak-message>span{font-size:10px}.training-month-nav{gap:8px;align-items:start}.training-month-nav h2{font-size:23px}.training-month-nav .eyebrow{font-size:7px;letter-spacing:0}.training-month-nav>div:last-child{gap:0}.training-month-nav button{min-width:30px}.training-month-nav .plain{font-size:9px}.training-weekdays,.training-month-grid{gap:5px}.training-day{min-height:43px;font-size:12px}.training-calendar-legend{gap:8px 12px;font-size:8px}.training-calendar-layout{gap:22px}.training-day-detail{padding:17px}.training-day-detail h3{font-size:23px}.training-day-detail ul{display:block}.training-day-detail .btn{width:100%}.training-calendar-note{font-size:9px}.training-streak-prompt{padding:17px;flex-wrap:wrap;gap:13px}.training-streak-prompt p{font-size:10px}.training-streak-prompt a{font-size:10px}}

/* Daily personal practice */
.daily-prompt{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 24px;background:#e6eddd;border:1px solid #d5e0c7;border-radius:7px;margin-bottom:19px}.daily-prompt>div>span{font-size:8px;color:#8a9c76;letter-spacing:1px}.daily-prompt h2{font:24px Georgia,serif;color:#4d6b3b;margin-top:7px}.daily-prompt p{font-size:11px;color:#8b9f77;line-height:1.8;margin-top:8px}.daily-prompt .btn{flex-shrink:0}.daily-plan-panel,.daily-intro{padding:25px;background:#fff;border:1px solid var(--line);border-radius:7px;margin-bottom:25px}.daily-plan-title{display:flex;justify-content:space-between;align-items:center;gap:22px}.daily-plan-title h2,.daily-intro h2{font:27px Georgia,serif;color:#426236}.daily-plan-title p,.daily-intro p{font-size:11px;color:#91a17f;line-height:1.9;margin-top:11px}.daily-plan-title .eyebrow{display:block;font-size:9px}.daily-plan-count{white-space:nowrap;text-align:right}.daily-plan-count strong{font-size:38px;font-weight:500;color:#65864e}.daily-plan-count small{font-size:17px;color:#a3b08f}.daily-plan-count>span{display:block;font-size:8px;color:#a1af8e;letter-spacing:.6px;margin-top:5px}.daily-task-track{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;margin:22px 0 16px}.daily-task-track>span{display:grid;place-items:center;background:#f1f4e9;border:1px solid #e6ecdc;color:#a5b18f;min-height:31px;border-radius:4px;font-size:11px}.daily-task-track>span.current{background:#f6efd9;border-color:#d7bf82;color:#987b3f}.daily-task-track>span.done{background:#f4eee0;color:#b49968;border-color:#e9dbbc}.daily-task-track>span.clean{background:#e6efdb;color:#6d8e51;border-color:#cedfbb}.daily-mix{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.daily-mix>span{background:#f2f5ec;border-radius:4px;padding:8px 10px;font-size:10px;color:#8da078}.daily-mix b{font-weight:500;color:#5b7d42;margin-left:5px}.daily-current-task{border-top:1px solid #e6ebdd;padding-top:17px;margin-top:17px}.daily-current-task strong{font-size:13px;color:#627e4b;line-height:1.7}.daily-current-task p{font-size:11px;color:#97a78a;line-height:1.85;margin-top:7px}.daily-save-note{font-size:9px;line-height:1.9;color:#a4af95;margin-top:14px}.daily-today-link{font-size:11px;display:block;color:#719153;margin-top:14px}.daily-finish{text-align:center;padding:37px 35px;background:#fff;border:1px solid #dce6d1;border-radius:7px;margin-bottom:25px}.daily-finish-icon{width:62px;height:62px;display:grid;place-items:center;background:#e6efdb;color:#759753;border-radius:50%;font-size:36px;margin:0 auto 22px}.daily-finish>.eyebrow{display:block;font-size:9px}.daily-finish h2{font:32px Georgia,serif;color:#476736;margin:12px 0 22px}.daily-result-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:480px;gap:12px;margin:25px auto}.daily-result-grid>div{background:#f2f6eb;border-radius:5px;padding:18px 10px}.daily-result-grid strong{display:block;font-size:31px;font-weight:500;color:#67874f}.daily-result-grid span{font-size:8px;color:#a0af8c;display:block;letter-spacing:.5px;margin-top:8px}.daily-finish>p{font-size:12px;line-height:1.85;color:#90a17d;max-width:530px;margin:18px auto}.daily-finish-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:22px 0}.daily-completed-list{margin:25px auto 0;border-top:1px solid #e4eadc;padding-top:19px;max-width:600px;text-align:left;color:#8da17b;font-size:11px}.daily-completed-list summary{cursor:pointer}.daily-completed-list>div{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:16px 0;padding-top:14px;border-top:1px solid #edf1e7}.daily-completed-list small{display:block;font-size:9px;color:#a8b397;margin-top:6px}.daily-completed-list .btn{flex-shrink:0}
@media(max-width:740px){.puzzle-view-tabs{gap:18px;font-size:10px;justify-content:space-between}.puzzle-view-tabs a{white-space:nowrap}.daily-prompt{padding:19px;gap:16px;flex-wrap:wrap}.daily-prompt h2{font-size:23px}.daily-prompt p{font-size:10px}.daily-prompt>.btn{width:100%}.daily-plan-panel,.daily-intro{padding:19px;margin-bottom:20px}.daily-plan-title{gap:13px;align-items:start}.daily-plan-title h2,.daily-intro h2{font-size:24px;line-height:1.2}.daily-plan-title p{font-size:10px}.daily-plan-title .eyebrow{font-size:7px;line-height:1.8}.daily-plan-count strong{font-size:29px}.daily-plan-count small{font-size:13px}.daily-plan-count>span{font-size:7px;letter-spacing:0}.daily-task-track{gap:4px;margin-top:18px}.daily-task-track>span{min-height:27px;font-size:10px}.daily-mix{gap:6px}.daily-mix>span{padding:7px 8px;font-size:8px}.daily-current-task strong{font-size:12px}.daily-current-task p{font-size:10px}.daily-save-note{font-size:8px}.daily-finish{padding:28px 18px}.daily-finish h2{font-size:28px}.daily-result-grid{gap:8px}.daily-result-grid>div{padding:15px 7px}.daily-result-grid span{font-size:7px;letter-spacing:0;line-height:1.7}.daily-result-grid strong{font-size:27px}.daily-finish>p{font-size:11px}.daily-finish-actions{gap:8px}.daily-finish-actions .btn{width:100%;font-size:11px}}

/* Locale selection and native safe areas share the same responsive shell. */
.locale-pending .app-shell{visibility:hidden}.locale-pending #bootstrap-splash{position:fixed;inset:0;z-index:99;background:var(--bg,#f6f7f2)}
.language-picker{font:600 12px inherit;border:1px solid var(--line,#d9ded5);border-radius:8px;background:transparent;color:inherit;padding:7px 4px;min-width:51px;cursor:pointer}.top-actions{flex-shrink:0}body{padding-bottom:env(safe-area-inset-bottom)}
.account-button{font-size:12px;white-space:nowrap}.account-modal{width:100%;max-width:none}.account-modal h3{margin:20px 0 12px}.account-modal p{line-height:1.6}.account-field{display:grid;gap:7px;font-size:13px;margin-top:16px}.account-field input,#account-code{width:100%;min-height:44px;padding:10px 12px;border:1px solid #ccd5cc;border-radius:8px;font:inherit;background:#fff;color:#17392c}.account-check{display:flex;align-items:flex-start;gap:8px;margin:20px 0 8px;font-size:13px}.account-modal small{display:block;line-height:1.6;margin:7px 0;color:#68776e}.account-modal .btn{margin:12px 0;min-height:44px}.account-modal form>.btn{width:100%}.account-tabs button{font-size:12px;padding:10px 6px}.account-actions{display:grid;gap:4px}.account-status{background:#e8f1e9;padding:12px;border-radius:8px}.account-email{overflow-wrap:anywhere;font-weight:700}#account-error{color:#9a392e;min-height:20px}.account-delete{color:#9a392e}.account-canonical{font-size:13px}.account-modal [disabled]{opacity:.55}.danger{background:#9a392e;color:white}
@media(max-width:480px){.top-actions{gap:7px}.top-crumb,.crumb-slash{display:none}.topbar{padding-left:16px;padding-right:16px}.avatar{display:none}.streak{display:none}.account-button{max-width:103px;overflow:hidden;text-overflow:ellipsis}.account-tabs{display:flex}.account-tabs button{min-width:0}}
