/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.m-2{margin:calc(var(--spacing) * 2)}.m-26{margin:calc(var(--spacing) * 26)}.m-32{margin:calc(var(--spacing) * 32)}.m-40{margin:calc(var(--spacing) * 40)}.m-178{margin:calc(var(--spacing) * 178)}.block{display:block}.contents{display:contents}.grid{display:grid}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}}:root{color:#172b4d;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f5ef;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{transition:background .18s,transform .18s,box-shadow .18s}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #e9b44c}button:hover:not(:disabled){filter:brightness(.98)}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.4px;margin-bottom:14px;font-size:clamp(28px,2.6vw,38px);font-weight:550;line-height:1.2}h2{letter-spacing:-.6px;font-size:22px;font-weight:550}h3{letter-spacing:-.5px;font-size:22px;font-weight:550}p{color:#76817f;font-size:14px;line-height:1.65}small{font-size:12px}button{color:inherit;background:0 0;border:0}input,textarea,select{color:#172b4d;background:#fffefa;border:1px solid #dcded6;border-radius:7px;outline:none;width:100%;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:#147d73;box-shadow:0 0 0 3px #147d7315}label{flex-direction:column;gap:8px;font-size:12px;font-weight:550;display:flex}textarea{resize:vertical;min-height:100px}.app{min-height:100vh;display:flex}.sidebar{z-index:5;background:#f0f0e8;border-right:1px solid #e3e5dc;flex-direction:column;width:238px;padding:36px 22px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-2px;align-items:center;gap:10px;font-size:36px;font-weight:600;text-decoration:none;display:flex}.brand-icon{place-items:center;width:37px;height:37px;display:grid}.brand svg{stroke-width:1.5px;color:#147d73;width:34px;height:34px}.brand-dot{color:#147d73;margin-left:-9px}.workspace-label{letter-spacing:1.7px;color:#8c948b;margin:48px 12px 15px;font-size:9px;font-weight:600}nav{flex-direction:column;gap:7px;display:flex}nav button{text-align:left;color:#78817e;border-radius:7px;align-items:center;gap:13px;padding:13px;font-size:13px;font-weight:500;display:flex}nav button.active{color:#23675c;background:#e0e9df}nav button.active:before{content:"";background:#147d73;border-radius:0 3px 3px 0;width:3px;height:24px;position:absolute;left:0}nav svg{stroke-width:1.6px}.sidebar-note{color:#82948a;margin-top:auto;padding:45px 14px 35px}.sidebar-note svg{color:#a3a78f;stroke-width:1.2px}.sidebar-note p{color:#818a80;margin:12px 0;font-size:12px;line-height:1.8}.sidebar-note>span{letter-spacing:1.8px;font-size:8px}.profile{border-top:1px solid #dedfd4;align-items:center;gap:10px;padding-top:22px;display:flex}.avatar{color:#566956;background:#e0e5d5;border-radius:50%;place-items:center;width:35px;height:35px;font-family:Georgia,serif;font-size:18px;display:grid}.profile strong{font-size:12px;font-weight:550;display:block}.profile small{color:#959b90;margin-top:5px;font-size:10px;display:block}.profile button{color:#8b948a;margin-left:auto;padding:4px}main{width:calc(100% - 238px);min-width:0;margin-left:238px}.topbar{color:#969d95;border-bottom:1px solid #e7e8e0;justify-content:space-between;align-items:center;height:77px;padding:0 44px;font-size:11px;display:flex}.topbar>span{align-items:center;gap:13px;display:flex}.topbar strong{color:#5f6b65;font-weight:500}.private-label{font-size:10px}.content{max-width:1500px;min-height:calc(100vh - 153px);margin:0 auto;padding:40px 44px 12px}.section-kicker{letter-spacing:2px;color:#74887b;margin-bottom:15px;font-size:9px;font-weight:600;display:block}.greeting{justify-content:space-between;align-items:center;gap:15px;margin-bottom:27px;display:flex}.greeting h1{margin-bottom:10px;font-size:clamp(26px,2.4vw,35px)}.greeting p{margin:0;font-size:13px}.date-chip{color:#8c958b;white-space:nowrap;align-items:center;gap:8px;font-size:10px;display:flex}.tiny-star{color:#af9c66;font-size:18px}.mobile-break{display:none}.hero{background:#172e40;border-radius:13px;height:304px;margin-bottom:38px;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:radial-gradient(at 85% 40%,#7c9e7f15,#0000 60%);position:absolute;top:0;right:0;bottom:0;left:0}.hero-copy{z-index:1;padding:31px 35px;position:relative}.eyebrow{letter-spacing:2px;color:#b9c3b4;align-items:center;gap:8px;font-size:8px;display:flex}.eyebrow>span{background:#c8b880;border-radius:100%;width:5px;height:5px}.hero h2{letter-spacing:-1.2px;color:#f5f3e5;margin:17px 0 11px;font-family:Georgia,Times New Roman,serif;font-size:41px;font-weight:400;line-height:1.08}.hero p{color:#afbdbb;margin-bottom:18px;font-size:11px;line-height:1.8}.hero button{color:#234c49;background:#e9eddf;border-radius:5px;align-items:center;gap:27px;padding:11px 16px;font-size:11px;font-weight:550;display:flex}.star-map{pointer-events:none;width:570px;height:380px;position:absolute;top:-33px;right:-15px}.hero-caption{letter-spacing:2.3px;color:#a9b9b2;font-size:6px;position:absolute;bottom:23px;right:29px}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin:22px 0;display:flex}.section-heading h2{align-items:center;gap:11px;margin:0;font-size:20px;display:flex}.section-heading h2>span{letter-spacing:0;color:#8d998a;border:1px solid #dfe3d9;border-radius:5px;padding:3px 5px;font-size:10px}.section-heading p{margin:7px 0 0;font-size:11px}.available{color:#899487;align-items:center;gap:6px;font-size:9px;display:flex}.available i{background:#147d73;border-radius:50%;width:5px;height:5px}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.module-card{text-align:left;background:#fafbf5;border:1px solid #e0e3d8;border-radius:10px;flex-direction:column;min-height:273px;padding:20px;display:flex;position:relative;overflow:hidden}.module-card.chess-card{background:#f1f5e9;border-color:#bdcdb3}.chess-card:hover{transform:translateY(-3px);box-shadow:0 5px 22px #3e594511}.card-top{z-index:1;justify-content:space-between;align-items:center;gap:5px;display:flex;position:relative}.module-icon{color:#59734e;background:#e5ecdc;border-radius:9px;place-items:center;width:35px;height:35px;display:grid}.module-icon svg{stroke-width:1.5px;width:19px}.status{letter-spacing:1px;color:#919b8b;align-items:center;gap:5px;font-size:6px;display:flex}.status.open{color:#55774c;background:#e3ebd8;border-radius:4px;padding:6px}.module-copy{z-index:1;margin-top:40px;position:relative}.module-number{letter-spacing:1.4px;color:#8e9b83;font-size:7px}.module-copy h3{color:#294534;margin:8px 0;font-size:23px}.module-copy p{color:#8a9586;max-width:220px;margin-bottom:21px;font-size:10px;line-height:1.8}.module-bottom{color:#8a9781;border-top:1px solid #dfe7d5;justify-content:space-between;align-items:center;gap:5px;margin-top:auto;padding-top:12px;font-size:8px;display:flex}.round-arrow{color:#4f6d49;background:#dee8d4;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.chess-art{opacity:.65;width:100px;height:90px;position:absolute;top:58px;right:10px;transform:rotate(-12deg)}.chess-art>span{color:#71886c;z-index:1;text-shadow:2px 2px #d9e3cf;font-size:87px;line-height:1;position:absolute;bottom:0;right:9px}.mini-board{background:repeating-conic-gradient(#b6c5a1,#b6c5a1 25%,#e2e9d7 0%,#e2e9d7 50%) 50%/22px 22px;border-radius:3px;width:85px;height:45px;position:absolute;bottom:-3px;right:0;transform:skew(-20deg)}.upcoming{background:#fafaf5}.upcoming .module-copy h3{color:#64736b}.upcoming .module-icon{color:#8b9b91;background:#ecefe8}.upcoming .module-bottom{color:#9ca396;border-color:#e7e9df}.module-art{color:#c1cbbd;opacity:.55;font-family:Georgia,serif;font-size:78px;line-height:1;position:absolute;top:65px;right:18px;transform:rotate(-13deg)}.astronomy{background:#f1f2f2}.astronomy .module-icon{color:#7a8b9e;background:#e4e8ea}.astronomy .module-art{color:#a6b4c4}.programming{background:#f5f2eb}.programming .module-icon{color:#a89c7b;background:#ece7db}.programming .module-art{color:#b9ac8e;letter-spacing:-5px;font-size:51px;top:85px;right:20px}.geography{background:#f1f4ee}.memory{background:#f3f1f4}.memory .module-icon{color:#a394ac;background:#e9e4ee}.memory .module-art{color:#bcafc7}.knowledge{background:#f8f3e9}.knowledge .module-icon{color:#b3a16e;background:#efe8d7}.knowledge .module-art{color:#d0c199}.quote{justify-content:center;align-items:center;gap:16px;padding:35px 0 12px;display:flex}.quote>span{color:#b6b89b;font-size:27px}.quote p{color:#7f8b79;margin:0;font-family:Georgia,serif;font-size:14px;font-style:italic}.quote small{letter-spacing:1.8px;color:#9fa593;margin-top:9px;font-family:Inter,ui-sans-serif,sans-serif;font-size:6px;font-style:normal;display:block}footer{color:#a0a798;justify-content:space-between;align-items:center;max-width:1500px;margin:auto;padding:25px 44px;font-size:8px;display:flex}footer>span{align-items:center;gap:9px;display:flex}.primary{color:#fff;background:#147d73;border-radius:6px;justify-content:center;align-items:center;gap:16px;padding:12px 17px;font-size:12px;display:inline-flex}.lead{margin-bottom:30px;font-size:14px}.chess-banner{color:#526d4e;background:#e8eddf;border-radius:12px;align-items:center;gap:25px;margin:30px 0;padding:30px;display:flex}.chess-banner h2{margin-bottom:7px}.chess-banner p{margin:0;font-size:12px}.collections-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.collection-card{text-align:left;background:#fafbf6;border:1px solid #dfe4d6;border-radius:10px;padding:25px}.collection-symbol{color:#66815c;background:#e6ecd9;border-radius:8px;place-items:center;margin-bottom:20px;padding:12px;display:inline-grid}.collection-card h3{font-size:21px}.collection-card p{min-height:40px;font-size:12px}.progress-track{background:#e4e8dd;border-radius:5px;height:5px;overflow:hidden}.progress-track>div{background:#748f6b;border-radius:5px;height:100%}.collection-card .row{margin-top:15px}.collection-card .row>span{color:#147d73;align-items:center;gap:8px;font-size:12px;display:flex}.row{justify-content:space-between;align-items:center;gap:15px;display:flex}.empty{text-align:center;background:#fafbf540;border:1px dashed #d7ded0;border-radius:12px;padding:55px 25px}.empty>svg{color:#8a9a81;margin:0 auto 20px}.empty h3{font-size:21px}.empty p{margin-bottom:0;font-size:13px}.muted{color:#8c978a;font-size:12px}.back{color:#718771;align-items:center;gap:8px;margin-bottom:25px;padding:0;font-size:12px;display:flex}.solver-layout{--exercise-board-size:clamp(240px, calc(100dvh - 340px) , 560px);grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr);gap:30px;margin:25px 0;display:grid}.solver-layout>div:first-child{width:100%;max-width:var(--exercise-board-size)}.solver-content{padding-top:24px}.solver-content .back{margin-bottom:16px}.solver-content .section-heading{margin:16px 0}@media(min-width:851px){.solver-content .solver-layout{grid-template-columns:minmax(0,var(--exercise-board-size)) minmax(230px,360px)}}.board-wrap{aspect-ratio:1;background:#e8e0cf;border-radius:7px;overflow:hidden;box-shadow:0 8px 30px #172b4d10}.board-label{justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;font-size:12px;display:flex}.board-label>span{align-items:center;gap:8px;display:flex}.board-label small{color:#8d988b;font-size:10px}.white-piece,.black-piece{background:#fff;border:1px solid #bdc8b7;border-radius:50%;width:10px;height:10px;display:inline-block}.black-piece{background:#293d31;border-color:#293d31}.board-footer{color:#8d988b;justify-content:space-between;align-items:center;margin-top:17px;font-size:10px;display:flex}.text-button{color:#147d73;align-items:center;gap:7px;padding:8px 0;font-size:12px;display:inline-flex}.solver-panel{background:#f0f2e9;border:1px solid #e1e5d8;border-radius:10px;align-self:start;padding:32px 25px}.solver-panel h2{margin-bottom:12px;font-family:Georgia,serif;font-size:27px;line-height:1.2}.solver-panel>p{font-size:12px}.tags{flex-wrap:wrap;gap:6px;margin:20px 0;display:flex}.tags span{color:#78886e;background:#e4e9dc;border-radius:4px;padding:5px 7px;font-size:9px}.difficulty{color:#7d8a75;border-block:1px solid #dde3d3;justify-content:space-between;align-items:center;padding:15px 0;font-size:11px;display:flex}.difficulty strong{color:#3d5c43;font-size:17px}.feedback{color:#8c8059;background:#eee9d9;border-radius:7px;align-items:start;gap:12px;margin:23px 0;padding:18px 13px;display:flex}.feedback svg{flex-shrink:0;margin-top:3px}.feedback p{color:inherit;margin:0;font-size:12px}.feedback.positive{color:#52754a;background:#e1ebdb}.solver-panel .primary{width:100%;margin-bottom:20px}.puzzle-dots{flex-wrap:wrap;gap:7px;display:flex}.puzzle-dots button{border:1px solid #d4ddc9;border-radius:50%;place-items:center;width:26px;height:26px;font-size:9px;display:grid}.puzzle-dots button.current{color:#147d73;border-color:#147d73}.puzzle-dots button.done{color:#5b8051;background:#dee9d4}.fine-print{color:#929c8c;margin-top:20px;font-size:10px;line-height:1.8}.pill{color:#849077;white-space:nowrap;background:#e8ecdf;border-radius:20px;padding:7px 10px;font-size:10px;display:inline-block}.success{color:#147d73}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:25px 0;display:grid}.stat{background:#fafbf5;border:1px solid #dfe4d6;border-radius:9px;padding:24px}.stat span{color:#89947f;font-size:11px;display:block}.stat strong{letter-spacing:-1px;margin-top:14px;font-size:35px;font-weight:500;display:block}.panel{background:#fafbf5;border:1px solid #e0e4d7;border-radius:10px;margin-bottom:20px;padding:25px}.panel h2{margin-bottom:20px;font-size:19px}.theme-stat{border-bottom:1px solid #e7eadd;padding:13px 0}.theme-stat:last-child{border:0}.theme-stat>div:first-child{justify-content:space-between;align-items:center;gap:15px;margin-bottom:10px;font-size:12px;display:flex}.theme-stat small{color:#8d9885;font-size:9px}.two-columns{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}.tabs{border-bottom:1px solid #dfe4d7;gap:25px;margin:30px 0 25px;display:flex}.tabs button{text-transform:capitalize;color:#8a9581;padding:13px 0;font-size:12px;position:relative}.tabs button.active{color:#147d73}.tabs button.active:after{content:"";background:#147d73;height:2px;position:absolute;bottom:-1px;left:0;right:0}.filter-row h2{font-size:20px}.filter-row select{width:180px;font-size:12px}.missed-row{border-bottom:1px solid #e4e7db;justify-content:space-between;align-items:center;padding:15px 0;font-size:11px;display:flex}.missed-row>span:last-child{color:#9e8d60}.history-row{text-align:left;border-top:1px solid #e4e8da;align-items:center;gap:18px;width:100%;padding:17px 0;font-size:10px;display:flex}.history-row>span:first-child{flex:1}.history-row strong{font-size:12px;font-weight:500;display:block}.history-row small{color:#949e8b;margin-top:5px;font-size:9px;display:block}.attempt-detail{background:#f0f2e8;border-radius:5px;margin-bottom:12px;padding:15px}.move-detail{margin-bottom:12px;font-size:11px;line-height:1.7}.move-detail code{word-break:break-all;color:#969d8d;font-size:9px;display:block}.attempt-detail a{color:#147d73;font-size:11px}.pagination{justify-content:center;align-items:center;gap:20px;margin:25px 0 0;font-size:11px;display:flex}.pagination button{border:1px solid #d9e0d0;border-radius:5px;padding:8px 12px}.pagination>span{color:#8c9784}.collection-admin{justify-content:space-between;align-items:center;gap:20px;display:flex}.collection-admin h3{margin-bottom:8px;font-size:20px}.collection-admin p{font-size:12px}.collection-admin small{color:#929c88;font-size:10px}.assign-controls{align-items:center;gap:10px;display:flex}.assign-controls select{min-width:160px;font-size:11px}.library-layout{grid-template-columns:minmax(0,1fr) 270px;gap:25px;display:grid}.filters{grid-template-columns:2fr 1fr 1fr;gap:10px;display:grid}.filters input,.filters select{font-size:11px}.puzzle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.puzzle-choice{text-align:left;background:#fafbf5;border:1px solid #dce2d3;border-radius:8px;padding:10px}.puzzle-choice.chosen{background:#edf4e7;border:2px solid #147d73;padding:9px}.puzzle-choice .row{gap:5px}.puzzle-choice strong{font-size:10px;font-weight:500}.puzzle-choice small{font-size:8px}.preview-board{pointer-events:none;margin:10px 0}.collection-form{align-self:start;padding:22px;position:sticky;top:20px}.collection-form p{font-size:11px}.collection-form label{margin-bottom:18px}.collection-form .primary{width:100%}.error,.notice{color:#97594d;background:#f3e5df;border:1px solid #e6cfc5;border-radius:7px;margin:15px 0;padding:14px 18px;font-size:12px;line-height:1.6}.notice{color:#527049;background:#e6eddd;border-color:#d0dfc4}.error button{margin-left:15px;text-decoration:underline}.modal-backdrop{z-index:30;background:#172b4d88;place-items:center;padding:20px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.modal{background:#f7f5ef;border-radius:12px;width:100%;max-width:450px;padding:30px}.promotion-choices{gap:8px;margin:25px 0;display:flex}.promotion-choices button{background:#e7eddf;border:1px solid #cbd6be;border-radius:6px;padding:12px;font-size:12px}.loading{color:#147d73;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:100vh;display:flex}.spin{animation:7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-art{color:#edeedf;background:#172e40;flex-direction:column;justify-content:space-between;padding:50px;display:flex;position:relative;overflow:hidden}.login-art .brand{z-index:1;position:relative}.login-art .brand svg{color:#b2c4ad}.login-art>.star-map{opacity:.7;width:900px;height:600px;top:100px;right:-200px}.login-art>div{z-index:1;position:relative}.login-art h1{margin:25px 0;font-family:Georgia,serif;font-size:64px;line-height:1.1}.login-art p{color:#b4c2b8}.login-art>small{color:#9aaea2;font-size:10px}.login-form{align-self:center;width:100%;max-width:390px;margin:auto;padding:40px}.login-form h2{margin-bottom:12px;font-size:29px}.login-form>p{margin-bottom:30px;font-size:13px}.login-form label{margin-bottom:20px}.login-form .primary{width:100%;margin:5px 0 25px}.login-form>small{color:#929c8b;justify-content:center;align-items:center;gap:8px;font-size:10px;display:flex}@media(min-width:1500px){.hero{height:330px}.hero-copy{padding:38px 45px}.hero h2{font-size:46px}.star-map{width:650px;height:430px;right:20px}.hero p{font-size:12px}.module-card{min-height:290px;padding:24px}.module-copy p{font-size:12px}.module-number{font-size:8px}.module-bottom{font-size:10px}.status{font-size:7px}.module-copy{margin-top:45px}.chess-art{top:75px;right:20px}}@media(max-width:1150px){.sidebar{width:200px;padding-inline:16px}main{width:calc(100% - 200px);margin-left:200px}.content{padding:30px 28px 12px}.topbar{padding-inline:28px}.date-chip{display:none}.module-grid{gap:12px}.module-card{padding:15px}.status{letter-spacing:.7px;font-size:5px}.module-copy h3{font-size:21px}.module-copy p{font-size:10px}.hero .star-map{opacity:.8;right:-140px}.library-layout{grid-template-columns:minmax(0,1fr) 230px;gap:15px}.puzzle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.solver-layout{grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);gap:20px}.solver-panel{padding:24px 18px}.stat{padding:18px}.collection-admin{flex-direction:column;align-items:start}.two-columns{grid-template-columns:1fr}.available{font-size:8px}.module-art{font-size:65px}}@media(max-width:850px){.sidebar{align-items:center;width:76px;padding:25px 10px}.brand{gap:0;font-size:0}.brand-dot,.workspace-label,.sidebar-note,.profile>div,.profile button{display:none}nav{width:100%;margin-top:45px}nav button{justify-content:center;gap:0;padding:14px;font-size:0}.sidebar .brand-icon{width:40px}.sidebar nav svg{width:21px;height:21px}.profile{margin-top:auto}.profile .avatar{width:34px}main{width:calc(100% - 76px);margin-left:76px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-card{padding:20px}.status{font-size:6px}.module-copy p{font-size:11px}.available{display:none}.hero h2{font-size:36px}.hero .star-map{opacity:.65;right:-170px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.solver-layout{grid-template-columns:minmax(0,1fr)}.solver-panel{padding:25px}.solver-panel .fine-print{margin-bottom:0}.solver-panel h2{font-size:25px}.solver-panel .tags{margin:12px 0}.solver-panel .difficulty{padding:10px 0}.hero-caption{font-size:5px}.history-row{gap:10px}.history-row>span:nth-child(3){font-size:9px}.login-art{padding:35px}.login-art h1{font-size:46px}.login-form{padding:30px}.brand svg{width:32px}.login-art .brand{gap:10px;font-size:30px}.library-layout{grid-template-columns:1fr}.collection-form{position:static}.collections-grid{gap:13px}.collection-card{padding:20px}}@media(max-width:550px){.sidebar{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#f0f0e8f5;border-top:1px solid #dce1d3;flex-direction:row;width:100%;height:65px;padding:5px 12px;position:fixed;inset:auto 0 0}.sidebar>.brand,.profile{display:none}nav{flex-direction:row;justify-content:space-around;margin:0}nav button{flex-direction:column;flex:1;gap:4px;padding:6px 12px;font-size:8px}nav button.active:before{display:none}nav button svg{width:18px;height:18px}main{width:100%;margin:0;padding-bottom:65px}.topbar{height:56px;padding-inline:20px;font-size:10px}.private-label{gap:0!important;font-size:0!important}.private-label svg{width:14px}.content{padding:27px 20px 10px}.greeting{margin-bottom:24px}.greeting h1{letter-spacing:-1px;font-size:27px}.greeting p{max-width:260px;font-size:11px}.section-kicker{letter-spacing:1.6px;font-size:8px}.hero{border-radius:10px;height:280px;margin-bottom:29px}.hero-copy{padding:25px}.hero h2{font-size:35px}.hero p{max-width:210px;font-size:10px}.hero .star-map{opacity:.5;top:-10px;right:-270px}.hero-caption{letter-spacing:1.6px;font-size:4px;bottom:15px;right:14px}.hero button{padding:10px 13px;font-size:10px}.section-heading h2{font-size:18px}.section-heading{margin:20px 0 17px}.section-heading p{font-size:10px}.module-grid{gap:10px}.module-card{border-radius:8px;min-height:245px;padding:13px}.module-icon{border-radius:7px;width:29px;height:29px}.module-icon svg{width:16px}.status{letter-spacing:.5px;font-size:4.5px}.status.open{padding:4px}.status svg{width:8px}.module-copy{margin-top:47px}.module-copy h3{margin-top:7px;font-size:20px}.module-number{letter-spacing:.7px;font-size:5.5px}.module-copy p{margin-bottom:17px;font-size:9px;line-height:1.7}.module-bottom{padding-top:10px;font-size:6px}.round-arrow{width:18px;height:18px}.round-arrow svg{width:13px}.module-bottom>svg{width:11px}.module-art{font-size:58px;top:57px;right:12px}.chess-art{transform-origin:100% 0;top:47px;right:3px;transform:scale(.8)rotate(-12deg)}.programming .module-art{font-size:38px;top:71px;right:13px}.quote{gap:10px;padding:27px 0 8px}.quote p{font-size:11px;line-height:1.6}.quote small{letter-spacing:1.2px;font-size:5px}.quote>span{font-size:22px}footer{padding:20px;font-size:6px}footer>span{gap:5px}footer svg{width:11px}.collections-grid{grid-template-columns:1fr}.chess-banner{gap:17px;padding:22px}.chess-banner svg{width:32px}.chess-banner h2{font-size:20px}.chess-banner p{font-size:11px}.stats-grid{gap:10px}.stat{padding:18px}.stat span{font-size:10px}.stat strong{font-size:30px}.panel{padding:18px}.history-row{flex-wrap:wrap}.history-row>span:first-child{min-width:100px}.history-row>span:nth-child(3){display:none}.filter-row{align-items:start;gap:10px}.filter-row h2{font-size:17px}.filter-row select{width:140px;font-size:11px}.theme-stat>div:first-child{flex-direction:column;align-items:start;gap:5px}.assign-controls{flex-wrap:wrap}.tabs{gap:22px}.tabs button{font-size:11px}.filters{gap:7px}.filters label{font-size:10px}.filters input,.filters select{padding:9px 6px;font-size:10px}.collection-admin{padding:20px}.login-page{display:block}.login-art{min-height:260px;padding:25px}.login-art .brand{font-size:28px}.login-art h1{margin:20px 0 0;font-size:36px}.login-art>div>p,.login-art>small,.login-art .eyebrow{display:none}.login-art>.star-map{width:600px;height:400px;top:-40px;right:-220px}.login-form{max-width:400px;padding:35px 25px}.login-form h2{font-size:26px}.login-form .section-kicker{margin-bottom:12px}.login-form>p{margin-bottom:22px}.solver-panel{padding:22px}.board-label{font-size:11px}.board-label small{font-size:8px}.section-heading h1{font-size:25px}.section-heading .pill{font-size:8px}.promotion-choices{gap:5px}.promotion-choices button{padding:11px 8px;font-size:11px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.compact-signout{color:#71806e;padding:7px;display:none}.module-copy p{color:#687961;font-size:12px}.module-number{color:#71816a;font-size:8px}.module-bottom{color:#6c7e60;font-size:10px}.status{color:#687960;font-size:7px}.upcoming .module-copy p{color:#758071}.upcoming .module-bottom{color:#78846f}@media(max-width:850px){.compact-signout{display:inline-flex}.private-label{margin-left:auto;margin-right:12px}}@media(max-width:550px){.module-copy p{font-size:11px}.module-number{font-size:6px}.module-bottom{font-size:8px}.status{font-size:5px}}:root{--text-secondary:#4e6055}p,nav button,.workspace-label,.sidebar-note p,.sidebar-note>span,.profile small,.profile button,.topbar,.topbar strong,.section-kicker,.date-chip,.section-heading h2>span,.available,.status,.status.open,.module-number,.module-copy p,.module-bottom,.upcoming .module-copy p,.upcoming .module-bottom,.quote p,.quote small,footer,.muted,.board-label small,.board-footer,.tags span,.difficulty,.fine-print,.pill,.stat span,.theme-stat small,.tabs button,.missed-row>span:last-child,.history-row small,.move-detail code,.pagination>span,.collection-admin small,.login-form>small,.compact-signout{color:var(--text-secondary)}.module-bottom,.upcoming .module-bottom{color:var(--text-secondary);font-size:11px}.status,.status.open{color:#3e5845;letter-spacing:.6px;font-size:9px}.module-number{color:var(--text-secondary);letter-spacing:.7px;font-size:10px}.card-top{flex-wrap:wrap;row-gap:9px}.fine-print,.theme-stat small,.history-row small,.board-label small,.board-footer,.collection-admin small,.section-heading p,.collection-card small,.profile small,.private-label,.workspace-label,.sidebar-note>span,.quote small,footer{font-size:11px}.feedback{color:#66582f}.feedback.positive{color:#35592e}.tags span{font-size:11px}.chess-folders{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.chess-folder{text-align:left;background:#fafbf5;border:1px solid #d3ddca;border-radius:10px;padding:24px}.chess-folder>svg{color:#147d73;margin-bottom:23px}.chess-folder .pill{float:right;align-items:center;gap:5px;display:inline-flex}.chess-folder h2{clear:both;margin-bottom:10px}.chess-folder p{font-size:13px}.chess-folder .folder-link{color:#147d73;align-items:center;gap:12px;margin-top:25px;font-size:12px;display:flex}.upcoming-folder{background:#f0f1ea}.exercise-comments{max-width:950px;margin-top:30px}.exercise-comments h2{align-items:center;gap:10px;display:flex}.exercise-comments form textarea{min-height:90px}.exercise-comments form .row{margin-top:12px}.exercise-comment{border-top:1px solid #dce2d3;padding:18px 0}.exercise-comment p{white-space:pre-wrap;overflow-wrap:anywhere;color:#263c32;margin:10px 0 0}.reply-thread{margin-top:16px}.teacher-reply{background:#e8eee2;border-left:3px solid #147d73;border-radius:5px;margin:12px 0;padding:16px}.teacher-reply strong{font-size:12px}.teacher-reply .row{flex-wrap:wrap}.reply-badge{color:#574519;background:#f0e2ba;border-radius:5px;margin:8px 0;padding:6px 9px;font-size:11px;display:inline-block}.reply-link{text-align:left;margin:0 0 18px}.reply-form{margin-top:20px}.usage-filter{max-width:300px;margin:16px 0}.module-card.active-module{background:#eaf0e5;border-color:#9fbca7}.geo-hero{color:#2b685c;background:#e5eddf;border-radius:12px;align-items:center;gap:24px;margin:25px 0;padding:30px;display:flex}.geo-hero h2{margin-bottom:8px}.geo-hero p{margin:0}.geo-folders{grid-template-columns:repeat(2,minmax(0,1fr))}.geo-progress{margin-top:40px}.geo-quiz{max-width:780px;margin:25px auto}.geo-question{text-align:center;padding:35px 10px 25px}.geo-question>svg{color:#147d73;margin:0 auto 20px}.geo-question h2{font-size:clamp(23px,3vw,30px);line-height:1.4}.question-flag{aspect-ratio:4/3;object-fit:contain;width:min(100%,280px);margin:0 auto 28px;display:block;box-shadow:0 5px 20px #172b4d20}.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.answer-option{text-align:left;background:#f8faf2;border:1px solid #becdb7;border-radius:8px;align-items:center;gap:14px;padding:18px;font-size:15px;display:flex}.answer-option:hover:not(:disabled){background:#e6eedf}.answer-letter{border:1px solid #bdcdb6;border-radius:5px;padding:5px 8px;font-size:12px}.answer-option.correct{opacity:1;background:#dfeeda;border-color:#147d73}.answer-option.incorrect{opacity:1;background:#f2e8d8;border-color:#bfa478}.answer-option:disabled{opacity:.8}.geo-quiz .feedback{margin:22px 0}.geo-complete{text-align:center;padding:45px 25px}.geo-complete>svg{color:#147d73;margin:0 auto 20px}.geo-actions{flex-wrap:wrap;justify-content:center;gap:25px;display:flex}.geo-builder{grid-template-columns:minmax(0,1fr) 280px;gap:25px;display:grid}.geo-builder-form{flex-direction:column;gap:20px;display:flex}.geo-builder-form p{margin-bottom:0}.country-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:520px;margin:20px 0;display:grid;overflow-y:auto}.country-search{margin-top:15px}.memory-hero{color:#665274;background:#ebe6ef}.memory-ready,.memory-observe{text-align:center;max-width:780px;margin:25px auto}.memory-ready>svg{color:#147d73;margin:10px auto 22px}.memory-content .memory-observe{z-index:30;background:#f7f5ef;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;max-width:none;margin:0;padding:16px;display:flex;position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto}.memory-observe .memory-board,.memory-observe .recall-grid{flex-shrink:0;width:min(92vw,max(120px,100dvh - 300px),500px);max-width:none;margin:12px auto}.memory-observe>p{max-width:500px}.memory-recall{max-width:780px;margin:25px auto}.recall-grid{gap:clamp(5px,1vw,10px);width:100%;max-width:min(100%,430px);margin:25px auto;display:grid}.recall-grid>button,.recall-grid>span{aspect-ratio:1;background:#e3e8db;border:1px solid #a8b6a2;border-radius:6px;min-width:0;display:block}.recall-grid>.lit{background:#147d73;border-color:#0e5b54;box-shadow:inset 0 0 0 3px #ffffff30}.recall-grid>button:hover{border-color:#147d73}.observation-clock{color:#1a6057;font-variant-numeric:tabular-nums;background:#e3ebdd;border-radius:30px;margin-bottom:15px;padding:10px 18px;font-size:22px;display:inline-block}.memory-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin:20px 0;display:flex}.memory-board{width:100%;max-width:460px;margin:20px auto}.memory-board-squares{aspect-ratio:1;border-radius:7px;overflow:hidden}.memory-instructions{font-size:12px}.piece-palette{flex-wrap:wrap;justify-content:center;gap:5px;margin-bottom:15px;display:flex}.piece-palette button{color:#263e31;background:#f7f8f0;border:1px solid #bbc8b1;border-radius:5px;place-items:center;min-width:35px;height:38px;font-family:Georgia,serif;font-size:28px;display:grid}.piece-palette button.selected{background:#d7e5cc;border:2px solid #147d73}.coordinate-entry{flex-wrap:wrap;align-items:end;gap:15px;margin:15px 0;display:flex}.coordinate-entry label{max-width:95px}.memory-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-bottom:25px;display:grid}.memory-comparison h3{font-size:16px}.memory-form-fields{grid-template-columns:1fr 1fr;gap:22px;display:grid}.memory-settings{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:20px;margin:25px 0;display:grid}.memory-config-note{background:#eef1e8;border-radius:7px;margin:20px 0;padding:18px}.memory-config-note p{margin-bottom:0}.position-builder{grid-template-columns:minmax(0,1.3fr) minmax(220px,1fr);gap:30px;margin:25px 0;display:grid}.position-builder label{margin:15px 0}.position-builder p{font-size:12px}.memory-position-list{max-height:600px;margin:0;padding:0;list-style:none;overflow-y:auto}.memory-position-list li{border-bottom:1px solid #d9e2d1;padding:17px 0}.memory-position-list strong{font-size:12px}.memory-position-list code{overflow-wrap:anywhere;margin-top:12px;font-size:10px;display:block}.memory-history-round{background:#f1f3e9;border-radius:6px;margin:12px 0;padding:15px}@media(max-width:850px){.position-builder{grid-template-columns:1fr}}@media(max-width:550px){.memory-form-fields,.memory-comparison{grid-template-columns:1fr}.memory-content .section-heading{flex-wrap:wrap}.piece-palette button{min-width:32px;height:35px;font-size:25px}.memory-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-actions .primary{width:100%}}.country-selection-tools{flex-wrap:wrap;margin-top:12px}.country-selection-tools>div{gap:18px;display:flex}.country-choice{text-align:left;border:1px solid #d2ddca;border-radius:7px;align-items:center;gap:12px;padding:12px;display:flex}.country-choice img{aspect-ratio:4/3;object-fit:contain;flex-shrink:0;width:38px}.country-choice strong{font-size:12px;display:block}.country-choice small{color:#4e6055;margin-top:5px;font-size:11px;display:block}.country-choice.chosen{background:#e2ecda;border-color:#147d73}.country-choice>svg{color:#147d73;flex-shrink:0;margin-left:auto}.geo-history{border-bottom:1px solid #dce3d4;padding:16px 0}.geo-history summary{cursor:pointer;margin-bottom:12px;font-size:13px;line-height:1.7}.geo-history p{font-size:12px}@media(max-width:1000px){.geo-builder{grid-template-columns:1fr}}@media(max-width:550px){.geo-folders,.answer-grid{grid-template-columns:1fr}.geo-hero{gap:16px;padding:22px}.geo-hero>svg{flex-shrink:0;width:40px}.geo-hero h2{font-size:20px}.geo-quiz{padding:18px}.geo-question{padding-top:25px}.question-flag{max-width:240px}.answer-option{padding:14px;font-size:14px}.country-picker{grid-template-columns:1fr}.geography-content .section-heading{flex-wrap:wrap}.sidebar nav button{padding-inline:5px}}.puzzle-usage{color:#3f5947;overflow-wrap:anywhere;background:#e8eee2;border-radius:5px;gap:5px;margin:12px 0;padding:10px;display:grid}.puzzle-usage strong,.puzzle-usage span,.puzzle-usage em{font-size:11px;line-height:1.5}.puzzle-usage em{font-style:normal;font-weight:600}.selected-puzzles{max-height:260px;margin:15px 0 22px;padding:0;list-style:none;overflow-y:auto}.selected-puzzles li{border-bottom:1px solid #dce2d3;justify-content:space-between;align-items:center;gap:8px;padding:11px 0;display:flex}.selected-puzzles strong{font-size:11px;display:block}.selected-puzzles small{color:var(--text-secondary);margin-top:4px;font-size:10px;display:block}.selection-actions{flex-shrink:0;gap:3px;display:flex}.selection-actions button{background:#e8eee2;border-radius:4px;padding:5px}.reply-form textarea{min-height:85px}.reply-form .row{margin-top:10px}.puzzle-dots button.has-reply{position:relative}.puzzle-dots button.has-reply:after{content:"";background:#e9b44c;border:1px solid #8a6b20;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;right:-3px}.exercise-comment small,.exercise-comment .comment-context{color:var(--text-secondary);font-size:12px}.empty .primary{margin-top:22px}@media(max-width:1000px){.chess-folders{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.chess-folders{grid-template-columns:1fr}.tabs{flex-wrap:wrap;gap:0 20px}.module-number{font-size:9px}.module-bottom,.upcoming .module-bottom{font-size:10px}.status,.status.open{font-size:9px}.fine-print,.board-label small,.board-footer,footer{font-size:11px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
