/* Culture Words — a small world of connections, in the ATM palette. */
.cw-page,.cw-promo{--cw-accent:#146676;--cw-bright:#66e4d1;--cw-ink:#193c40;--cw-muted:#4b6a6e;--cw-surface:#fff;--cw-soft:#eaf5f2;--cw-line:#bfd9d4;--cw-cell:#fafffe;--cw-shadow:#163e3a12;color:var(--cw-ink)}
.cw-page{max-width:1440px;margin:0 auto;padding:8px 0 32px;animation:cw-arrive .35s ease-out}
.cw-page p{color:var(--cw-muted)}
.cw-page a,.cw-page button,.cw-promo a{touch-action:manipulation}
.cw-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:12px;font-size:14px;font-weight:650;text-decoration:none;color:var(--cw-accent)}
.cw-back:hover{text-decoration:underline;text-underline-offset:5px}
.cw-eyebrow{font:750 11px/1.5 ui-monospace,monospace;letter-spacing:1.7px;color:var(--cw-accent);margin:0 0 12px}
.cw-button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:11px 19px;background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:13px;color:var(--cw-accent);font-size:14px;font-weight:750;text-decoration:none;cursor:pointer;box-shadow:0 3px 0 var(--cw-line);transition:transform .15s,box-shadow .15s,background .15s}
.cw-button:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--cw-line)}
.cw-button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--cw-line)}
.cw-button-primary{background:var(--cw-accent);border-color:var(--cw-accent);color:white;box-shadow:0 3px 0 #102833}
.cw-button-primary:hover{background:var(--cw-accent);box-shadow:0 5px 0 #102833}
.cw-page :is(button,a,input,summary):focus-visible,.cw-promo a:focus-visible{outline:3px solid var(--cw-accent);outline-offset:4px}
.cw-page button:disabled{cursor:default}
.cw-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:390px;background:radial-gradient(ellipse at 80% 0,#256b6840,transparent 65%),linear-gradient(125deg,#0c343c,#103438 60%,#1b4d42);border:1px solid #ffffff22;border-radius:30px;color:#fff;box-shadow:0 16px 44px #0d383326}
.cw-hero::before{content:'';position:absolute;z-index:-1;inset:0;background-image:radial-gradient(#b2fff655 .8px,transparent .8px);background-size:33px 33px;opacity:.35;mask-image:linear-gradient(90deg,transparent,#000)}
.cw-hero::after{content:'';position:absolute;z-index:-1;inset:auto -10% -105px;height:200px;border-radius:50%;background:#49c5a615;box-shadow:0 -38px 0 #81e4cb08;transform:rotate(-7deg)}
.cw-hero-copy{padding:42px 0 42px 44px;position:relative;z-index:1}
.cw-hero .cw-eyebrow{color:#9ce9d5}
.cw-page .cw-hero a:focus-visible{outline-color:#b5f3df}
.cw-hero h1{font-size:clamp(40px,4.8vw,72px);font-weight:800;letter-spacing:-3px;line-height:1.05;margin:16px 0 14px;color:#fff}
.cw-hero p.cw-hero-tagline{font-size:clamp(19px,2vw,26px);color:#b5f3df;font-weight:500;letter-spacing:-.5px;margin-bottom:18px}
.cw-hero p.cw-hero-description{color:#cbdfdf;font-size:16px;max-width:44ch;line-height:1.65}
.cw-hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}
.cw-hero .cw-button-primary{background:#a0f0d6;color:#113b37;border-color:#a0f0d6;box-shadow:0 4px 0 #528978}
.cw-hero-meta{font:500 11px/1.6 ui-monospace,monospace;color:#cbdfdf;max-width:14ch}
.cw-art{height:360px;position:relative;display:grid;place-items:center;--cw-orbit:104px}
.cw-art-caption,.cw-art-footer{position:absolute;left:0;right:0;text-align:center;font:600 8px/1.5 ui-monospace,monospace;letter-spacing:2px;color:#c8e4da}
.cw-art-caption{top:19px}.cw-art-footer{bottom:18px}
.cw-art-dish{width:286px;height:286px;position:relative;border:1px solid #b7ffea55;border-radius:50%;background:radial-gradient(circle at 32% 20%,#b1ffde26,transparent 65%),radial-gradient(circle,#133a3650,#80e1ae1a);box-shadow:inset 0 0 0 8px #dafcf807,inset 0 0 0 11px #ffffff18,0 0 0 12px #b8e6d205,0 25px 45px #0003,inset -8px -10px 25px #00171540;transform:rotate(-7deg)}
.cw-art-dish::before{content:'';position:absolute;inset:19px;border-radius:50%;border:1px dashed #b7ffea22}
.cw-art-dish>i{position:absolute;left:50%;top:50%;width:8px;height:17px;background:#90e9d44f;border:1px solid #aaffdf60;border-radius:50%;transform:rotate(calc(var(--i)*26deg)) translateY(-76px);filter:drop-shadow(0 0 4px #aaffd055)}
.cw-art-dish>i:nth-child(3n){background:#e6a4c764;border-color:#ffbcdf60;transform:rotate(calc(var(--i)*26deg)) translateY(-40px)}
.cw-art-dish>i:nth-child(2n){width:14px;height:8px;background:#b3a6ee68;border-color:#d1b2ff60}
.cw-art-letters{position:absolute;inset:0}
.cw-art-letters>span{position:absolute;left:50%;top:50%;margin:-21px 0 0 -21px;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#173d3d;background:linear-gradient(135deg,#f8fff6,#a1e9d3);border:1px solid #eafff0;box-shadow:0 5px 0 #4f9789,0 10px 13px #0003;font-size:21px;font-weight:800;transform:rotate(calc(var(--i)*51.428deg)) translateY(calc(-1*var(--cw-orbit))) rotate(calc(var(--i)*-51.428deg))}
.cw-art-letters>span:nth-child(3n){background:linear-gradient(135deg,#fff3fa,#ebb8d3);box-shadow:0 5px 0 #ab6f91,0 10px 13px #0003}
.cw-art-star{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:50px;color:#b5ffe1;text-shadow:0 0 28px #b5ffe190}
.cw-account{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:18px 2px 22px;font-size:12px;color:var(--cw-muted)}
.cw-save-status::before{content:'●';color:var(--cw-accent);font-size:8px;margin-right:8px;vertical-align:2px}
.cw-account-name{max-width:60%;overflow-wrap:anywhere}
.cw-account-signin,.cw-text-button{color:var(--cw-accent);font-weight:650;text-underline-offset:3px}
.cw-text-button{border:0;background:none;cursor:pointer;min-height:44px;padding:6px;font-size:12px}
.cw-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 38px}
.cw-stats>div{background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:18px;padding:22px 24px;box-shadow:0 5px 20px var(--cw-shadow)}
.cw-stats strong{display:block;font-size:30px;line-height:1.2;font-weight:750;letter-spacing:-1px;color:var(--cw-accent)}
.cw-stats span{display:block;font-size:12px;color:var(--cw-muted);margin-top:7px}
.cw-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cw-chapter{padding:25px;background:var(--cw-surface);border:1px solid var(--cw-line);border-top:3px solid var(--cw-accent);border-radius:22px;box-shadow:0 5px 20px var(--cw-shadow)}
.cw-chapter[data-accent='pink'],.cw-page[data-accent='pink']{--cw-accent:#97315f;--cw-bright:#edacca;--cw-soft:#f6e7ef;--cw-line:#e0bfce}
.cw-chapter[data-accent='purple'],.cw-page[data-accent='purple']{--cw-accent:#64418a;--cw-bright:#c0a0ed;--cw-soft:#ede7f5;--cw-line:#d0c1e3}
.cw-chapter-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:20px;min-height:107px}
.cw-chapter-heading h2{font-size:22px;line-height:1.2;letter-spacing:-.7px;margin:0 0 8px}
.cw-chapter-heading p:last-child{font-size:13px;line-height:1.5;margin:0;color:var(--cw-muted)}
.cw-chapter-heading .cw-eyebrow{margin-bottom:8px;font-size:10px}
.cw-chapter-count{white-space:nowrap;font:600 12px ui-monospace,monospace;color:var(--cw-accent);padding-top:5px}
.cw-level-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.cw-level{position:relative;min-width:0;min-height:66px;padding:7px 3px;border:1px solid var(--cw-line);border-radius:13px;color:var(--cw-accent);background:var(--cw-soft);box-shadow:0 3px 0 var(--cw-line);cursor:pointer;transition:transform .15s,box-shadow .15s}
.cw-level:hover:enabled{transform:translateY(-3px);box-shadow:0 6px 0 var(--cw-line)}
.cw-level-number{display:block;font-weight:750;font-size:19px;line-height:1.3}
.cw-level-stars{display:block;font:700 8px/1.8 ui-monospace,monospace;letter-spacing:.5px;margin-top:4px}
.cw-level:disabled{background:var(--cw-surface);color:var(--cw-muted);box-shadow:none;border-style:dashed}
.cw-level.is-complete{background:var(--cw-accent);color:#fff;border-color:var(--cw-accent);box-shadow:0 3px 0 #253b48}
.cw-level.is-next{outline:2px solid var(--cw-accent);outline-offset:3px}
.cw-how{margin-top:24px;padding:16px 20px;border:1px solid var(--cw-line);background:var(--cw-surface);border-radius:16px;color:var(--cw-ink);font-size:13px}
.cw-how summary{font-size:14px;font-weight:700;cursor:pointer;min-height:28px;line-height:28px;color:var(--cw-accent)}
.cw-how ol{padding-left:20px;margin:16px 0 4px;line-height:1.7}.cw-how li{padding-left:4px;margin:8px 0}
.cw-future{display:flex;align-items:center;gap:15px;margin-top:20px;padding:20px;border:1px dashed var(--cw-line);border-radius:18px;color:var(--cw-muted);font-size:13px}
.cw-future-symbol{font-size:30px;color:var(--cw-accent)}
.cw-play-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px;font-size:13px;color:var(--cw-muted)}
.cw-play-top .cw-back{margin:0}
.cw-level-count{font:650 13px ui-monospace,monospace;color:var(--cw-accent);white-space:nowrap}
.cw-chapter-name{font-size:12px}.cw-play-title{font-size:clamp(30px,3.6vw,42px);letter-spacing:-1.5px;margin:16px 0 0}
.cw-play-page .cw-account{margin-top:10px}
.cw-play-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);gap:24px;align-items:start}
.cw-board-panel{overflow:hidden;position:relative;padding:28px;border:1px solid var(--cw-line);border-radius:26px;background:radial-gradient(ellipse at 15% 10%,var(--cw-soft),transparent 70%),var(--cw-surface);box-shadow:0 7px 28px var(--cw-shadow)}
.cw-board-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.cw-board-meta .cw-eyebrow{margin:0;font-size:10px}
.cw-word-count{font:600 11px ui-monospace,monospace;color:var(--cw-muted);white-space:nowrap}
.cw-board{display:grid;grid-template-columns:repeat(var(--cw-columns),minmax(0,1fr));grid-template-rows:repeat(var(--cw-rows),minmax(0,1fr));gap:5px;aspect-ratio:var(--cw-columns)/var(--cw-rows);width:min(100%,calc(var(--cw-columns)*48px));margin:36px auto 28px}
.cw-square{display:grid;place-items:center;min-width:0;min-height:0;aspect-ratio:1;background:var(--cw-cell);border:1px solid var(--cw-line);border-radius:9px;box-shadow:0 3px 0 var(--cw-line);font-size:clamp(14px,2.4vw,22px);font-weight:800;color:var(--cw-accent);transition:background .25s,transform .25s}
.cw-square.is-filled{background:var(--cw-accent);border-color:var(--cw-accent);color:white;animation:cw-letter-pop .3s ease-out;box-shadow:0 3px 0 #203945}
.cw-square.is-hint{border:2px dashed var(--cw-accent);background:var(--cw-soft);color:var(--cw-accent)}
.cw-blank{pointer-events:none}
.cw-page .cw-feedback{min-height:24px;margin:0 0 16px;text-align:center;font-size:13px;line-height:1.5;color:var(--cw-muted)}
.cw-page .cw-feedback.is-success{color:var(--cw-accent);font-weight:750}.cw-feedback.is-review{font-weight:600}
.cw-play-score{display:flex;justify-content:space-between;gap:10px;padding-top:16px;border-top:1px solid var(--cw-line);font-size:12px;color:var(--cw-accent);font-weight:650}
.cw-discovery{position:relative;padding:20px 22px;margin-top:24px;background:var(--cw-soft);border:1px solid var(--cw-line);border-left:3px solid var(--cw-accent);border-radius:14px}
.cw-discovery .cw-eyebrow{font-size:9px;margin-bottom:6px}.cw-discovery h2{font-size:20px;margin:0 0 8px;letter-spacing:1px}.cw-discovery p{font-size:13px;line-height:1.7;margin:0}
.cw-discovery>a{display:inline-flex;align-items:center;min-height:44px;margin:6px 0 -8px;font-size:11px}
.cw-learning-note{margin-top:16px;padding-top:14px;border-top:1px solid var(--cw-line)}
.cw-learning-note h3{margin:0 0 7px;font-size:13px;letter-spacing:0;color:var(--cw-accent)}
.cw-discovery-sources{margin-top:14px;font-size:12px}.cw-discovery-sources summary{min-height:40px;padding:8px 0;color:var(--cw-accent);font-weight:700;cursor:pointer}.cw-discovery-sources ul{padding-left:17px;margin:3px 0}.cw-discovery-sources li{margin:8px 0;line-height:1.6}
.cw-source-link{color:var(--cw-accent);text-underline-offset:3px;overflow-wrap:anywhere}
.cw-play-topic{display:inline-flex;align-items:center;min-height:40px;font-size:12px;color:var(--cw-accent);text-decoration:none;margin-top:4px}.cw-play-topic:hover{text-decoration:underline;text-underline-offset:4px}
.cw-long-wheel .cw-word-preview{font-size:21px;letter-spacing:2px}
.cw-long-wheel .cw-letter{width:44px;height:44px}
.cw-explorer-chapter{grid-column:1/-1;padding:0;overflow:hidden;scroll-margin-top:138px}
.cw-identification-banner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:20px;padding:34px 38px;background:radial-gradient(ellipse at 85% 20%,#41978844,transparent 60%),linear-gradient(120deg,#103b43,#1e4b47);color:#fff}
.cw-identification-banner h2{font-size:clamp(30px,3.5vw,43px);letter-spacing:-1.5px;line-height:1.15;margin:0 0 12px;color:#fff}
.cw-identification-banner .cw-eyebrow{color:#a0efd7;font-size:10px;letter-spacing:1.5px;margin-bottom:13px}
.cw-identification-banner p:not(.cw-eyebrow){color:#cee2e0;font-size:15px;max-width:70ch;line-height:1.7;margin-bottom:13px}
.cw-identification-banner .cw-button-primary{display:flex;width:max-content;max-width:100%;margin-top:23px;background:#a0efd7;color:#123c37;border-color:#a0efd7;box-shadow:0 4px 0 #508d7d}
.cw-page .cw-identification-banner a:focus-visible{outline-color:#b4f3e0}
.cw-id-badge{display:inline-block;font:600 10px/1.7 ui-monospace,monospace;letter-spacing:.4px;color:#d8eae5}
.cw-id-emblem{position:relative;width:190px;height:190px;justify-self:center;border:1px solid #abffe74d;border-radius:50%;background:radial-gradient(circle at 34% 24%,#a0efd719,transparent 75%);box-shadow:inset 0 0 0 12px #ffffff07,inset 0 0 0 13px #ffffff15,0 0 0 13px #ffffff04,0 0 0 26px #ffffff03}
.cw-id-emblem::before,.cw-id-emblem::after{content:'';position:absolute;border-radius:50%;border:1px dashed #b0eacf33;inset:26px;transform:rotate(30deg)}
.cw-id-emblem::after{inset:48px;border-style:solid;border-color:#d9baff40}
.cw-id-core{position:absolute;inset:65px;display:grid;place-items:center;border:1px solid #c5fff0;border-radius:20px;background:linear-gradient(135deg,#f2fff8,#8edcc7);color:#143c37;font:800 24px/1 ui-monospace,monospace;box-shadow:0 5px 0 #4c9381,0 12px 18px #0003;transform:rotate(-8deg)}
.cw-id-orbit{position:absolute;left:50%;top:50%;width:64px;height:27px;margin:-13px 0 0 -32px;display:grid;place-items:center;border:1px solid #fff7;border-radius:8px;color:#d4fbea;background:#163d3d;font:650 10px/1 ui-monospace,monospace;letter-spacing:1px;transform:rotate(calc(var(--i)*90deg)) translateY(-77px) rotate(calc(var(--i)*-90deg));box-shadow:0 3px 0 #081f26}
.cw-id-orbit:nth-child(3){color:#ffe0f2;background:#63415d}.cw-id-orbit:nth-child(4){color:#e5dcff;background:#413b5e}
.cw-id-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding:27px 30px;border-bottom:1px solid var(--cw-line);background:var(--cw-soft)}
.cw-id-overview .cw-eyebrow{display:block;margin-bottom:7px;font-size:10px}
.cw-id-overview p{margin:0;font-size:12px;line-height:1.7;color:var(--cw-muted)}
.cw-id-progress{margin:0;padding:25px 30px 0;font-size:13px;font-weight:600;color:var(--cw-accent)}
.cw-id-find{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:22px 30px 0;align-items:center}
.cw-id-find label{grid-column:1/-1;font-size:12px;font-weight:700;color:var(--cw-ink)}
.cw-id-search{width:100%;min-width:0;min-height:48px;border:1px solid var(--cw-line);border-radius:13px;background:var(--cw-cell);color:var(--cw-ink);font:400 16px/1.5 system-ui;padding:11px 14px}
.cw-id-clear{font-size:12px;min-height:48px;white-space:nowrap}
.cw-topic-filters{display:flex;flex-wrap:wrap;gap:8px;padding:20px 30px 0}
.cw-topic-filter{min-height:40px;padding:8px 13px;border:1px solid var(--cw-line);border-radius:24px;background:var(--cw-surface);color:var(--cw-accent);font-size:11px;font-weight:650;cursor:pointer}
.cw-topic-filter[aria-pressed='true']{background:var(--cw-accent);color:#fff;border-color:var(--cw-accent)}
.cw-topic-filter:hover{box-shadow:0 2px 0 var(--cw-line)}
.cw-id-result-count{margin:0;padding:21px 30px 15px;font:600 11px/1.5 ui-monospace,monospace;color:var(--cw-muted)}
.cw-explorer-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 30px 30px}
.cw-explorer-topic{background:var(--cw-soft);border:1px solid var(--cw-line);border-top:3px solid var(--cw-accent);border-radius:18px;padding:20px;min-width:0}
.cw-explorer-topic:nth-child(3n + 2){border-top-color:var(--pink)}.cw-explorer-topic:nth-child(3n){border-top-color:var(--purple)}
.cw-id-topic-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}
.cw-id-topic-heading h3{margin:0;font-size:17px;line-height:1.35;letter-spacing:-.35px;color:var(--cw-ink)}
.cw-explorer-topic>p{font-size:12px;line-height:1.65;margin:0 0 17px;min-height:40px;color:var(--cw-muted)}
.cw-explorer-topic .cw-level-map{grid-template-columns:repeat(auto-fit,minmax(87px,1fr));gap:10px}
.cw-explorer-level{min-height:82px;background:var(--cw-surface);padding:10px 5px}
.cw-explorer-level .cw-level-number{font-size:12px;opacity:.8}
.cw-level-term{display:block;font:750 10px/1.5 ui-monospace,monospace;letter-spacing:.15px;margin:6px 0 2px;overflow-wrap:anywhere}
.cw-explorer-level .cw-level-stars{font-size:8px;margin-top:4px}
.cw-id-empty{grid-column:1/-1;text-align:center;padding:32px 20px;margin:0;border:1px dashed var(--cw-line);border-radius:16px;font-size:14px;background:var(--cw-soft)}
html[data-theme='dark'] .cw-topic-filter[aria-pressed='true']{color:#142c30}
html[data-theme-mode='auto'] .cw-identification-banner{background:radial-gradient(ellipse at 85% 15%,#8153a844,transparent 65%),linear-gradient(120deg,#181221,#38263f)}
html[data-theme-mode='auto'] .cw-identification-banner .cw-eyebrow{color:#f2b1cf}
html[data-theme-mode='auto'] .cw-identification-banner .cw-button-primary{background:#f2b1cf;color:#2e1831;border-color:#f2b1cf;box-shadow:0 4px 0 #8c567c}
html[data-theme-mode='auto'] .cw-page .cw-identification-banner a:focus-visible{outline-color:#f2b1cf}
html[data-theme-mode='auto'][data-theme='dark'] .cw-topic-filter[aria-pressed='true']{color:#211626}
@media(max-width:1150px){.cw-explorer-topics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cw-identification-banner{padding:28px;grid-template-columns:minmax(0,1fr) 155px;gap:8px}.cw-id-emblem{transform:scale(.7);margin:-22px}.cw-id-overview{grid-template-columns:1fr;gap:17px;padding:23px}.cw-id-overview>div{display:flex;align-items:flex-start;gap:14px}.cw-id-overview .cw-eyebrow{margin:3px 0;min-width:20px}.cw-id-find{padding:20px 23px 0}.cw-id-progress{padding:23px 23px 0}.cw-topic-filters{padding:18px 23px 0;gap:7px}.cw-topic-filter{font-size:10px;padding:8px 11px}.cw-id-result-count{padding:20px 23px 13px}.cw-explorer-topics{padding:0 23px 23px;gap:15px}.cw-explorer-topic{padding:17px}.cw-explorer-topic .cw-level-map{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}}
@media(max-width:600px){.cw-explorer-topics{grid-template-columns:1fr}.cw-identification-banner{display:block;padding:27px 23px}.cw-id-emblem{display:none}.cw-identification-banner p:not(.cw-eyebrow){font-size:14px}.cw-identification-banner .cw-eyebrow{font-size:9px}.cw-identification-banner .cw-button-primary{font-size:13px;margin-top:20px}.cw-id-find{grid-template-columns:1fr}.cw-id-clear{justify-self:start;min-height:44px;padding:8px 14px}.cw-id-progress{font-size:12px}.cw-id-badge{font-size:9px}.cw-explorer-topic>p{min-height:0}.cw-explorer-topic .cw-level-map{grid-template-columns:repeat(auto-fit,minmax(83px,1fr))}}
@media(max-width:380px){.cw-id-find,.cw-id-progress,.cw-topic-filters,.cw-id-result-count{padding-left:18px;padding-right:18px}.cw-explorer-topics{padding-left:18px;padding-right:18px}.cw-explorer-topic{padding:15px}.cw-level-term{font-size:9px}.cw-identification-banner{padding:25px 20px}.cw-identification-banner .cw-eyebrow{letter-spacing:1px}}
.cw-controls{padding:22px 22px 24px;background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:26px;box-shadow:0 7px 28px var(--cw-shadow);text-align:center;min-width:0}
.cw-word-preview{min-height:45px;display:grid;place-items:center;margin:0 auto 14px;width:90%;font:750 25px/1.4 ui-monospace,monospace;letter-spacing:4px;color:var(--cw-accent);border-radius:12px;background:var(--cw-soft);border:1px solid var(--cw-line)}
.cw-wheel{position:relative;isolation:isolate;width:min(100%,300px);aspect-ratio:1;margin:0 auto 20px;border:1px solid var(--cw-line);border-radius:50%;background:radial-gradient(circle at 35% 25%,var(--cw-surface),var(--cw-soft));box-shadow:inset 0 0 0 7px var(--cw-surface),inset 0 0 0 8px var(--cw-line),0 9px 0 var(--cw-line),0 17px 25px var(--cw-shadow);touch-action:none;user-select:none;-webkit-user-select:none}
.cw-wheel::before{content:'';position:absolute;inset:21%;border:1px dashed var(--cw-line);border-radius:50%;pointer-events:none;z-index:-1}
.cw-connection-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}
.cw-connection-lines polyline{fill:none;stroke:var(--cw-accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.cw-letter{position:absolute;z-index:2;width:clamp(44px,4.4vw,52px);height:clamp(44px,4.4vw,52px);min-height:44px;min-width:44px;padding:0;transform:translate(-50%,-50%);border:1px solid var(--cw-line);border-radius:50%;display:grid;place-items:center;background:var(--cw-cell);color:var(--cw-accent);font:800 24px/1 ui-monospace,monospace;box-shadow:0 4px 0 var(--cw-line),0 6px 10px var(--cw-shadow);cursor:pointer;touch-action:none}
.cw-letter.is-selected{color:#fff;background:var(--cw-accent);border-color:var(--cw-accent);box-shadow:0 4px 0 #233d48,0 0 0 5px var(--cw-soft)}
.cw-letter:disabled{opacity:.65}
.cw-wheel-submit{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border:1px solid var(--cw-line);border-radius:50%;background:var(--cw-soft);color:var(--cw-accent);font:500 27px/1 system-ui;cursor:pointer;box-shadow:0 3px 0 var(--cw-line)}
.cw-tools{display:flex;justify-content:center;gap:7px}.cw-tools .cw-button{font-size:12px;padding:9px 10px;flex:1;min-width:0}
.cw-tools button:disabled{opacity:.5;transform:none;box-shadow:none}
.cw-page .cw-wheel-help{font-size:12px;margin:16px 0 20px;color:var(--cw-muted)}
.cw-type-form{display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left;padding-top:17px;border-top:1px solid var(--cw-line)}
.cw-type-form label{grid-column:1/-1;font-size:12px;font-weight:650;color:var(--cw-muted)}
.cw-type-input{width:100%;min-width:0;border:1px solid var(--cw-line);border-radius:12px;background:var(--cw-cell);color:var(--cw-ink);font:650 16px/1.2 ui-monospace,monospace;min-height:46px;padding:11px;text-transform:uppercase}
.cw-type-form .cw-button{padding:10px 13px;font-size:12px}.cw-type-input:disabled{opacity:.55}
.cw-bonus{font-size:12px;color:var(--cw-accent);margin-top:22px;text-align:left}.cw-bonus summary{min-height:32px;cursor:pointer;font-weight:700}.cw-bonus>div{display:flex;gap:6px;flex-wrap:wrap}.cw-bonus span{border:1px solid var(--cw-line);border-radius:7px;padding:3px 7px;background:var(--cw-soft);font:600 11px/1.7 ui-monospace,monospace}
.cw-page .cw-star-rule{margin:22px 0 0;font-size:10px;color:var(--cw-muted)}.cw-controls .cw-how{padding:10px 13px;text-align:left}.cw-controls .cw-how summary{font-size:12px}
.cw-win{margin-top:25px;text-align:center;border-top:1px solid var(--cw-line);padding:23px 0 0;animation:cw-arrive .35s ease-out}.cw-win-stars{display:block;color:var(--cw-accent);font-size:40px;letter-spacing:7px;text-shadow:0 3px 0 var(--cw-line);margin-bottom:12px}.cw-win h2{font-size:22px;line-height:1.3;letter-spacing:-.7px;margin:0 0 8px}.cw-win p{font-size:13px;margin-bottom:18px}
.cw-promo{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;margin:24px 0 28px;border:1px solid var(--cw-line);border-radius:24px;padding:28px;background:linear-gradient(110deg,var(--cw-surface),var(--cw-soft));box-shadow:0 6px 22px var(--cw-shadow)}
.cw-promo h2{font-size:30px;letter-spacing:-1px;margin:0 0 8px}.cw-promo p:not(.cw-eyebrow){font-size:14px;max-width:49ch;color:var(--cw-muted)}.cw-promo-tiles{max-width:235px;flex-shrink:0;display:flex;flex-wrap:wrap;justify-content:center;gap:9px;transform:rotate(-8deg)}
.cw-promo-tiles span{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--cw-line);background:var(--cw-surface);border-radius:11px;box-shadow:0 4px 0 var(--cw-line);font-size:22px;font-weight:800;color:var(--cw-accent)}
.cw-training-link{display:flex;align-items:center;min-height:44px;font-size:13px;font-weight:650;color:var(--deep);margin-top:10px;text-underline-offset:4px}
.cw-loading{padding:50px 20px;font-size:18px;text-align:center;color:var(--deep)}
html[data-theme='dark'] :is(.cw-page,.cw-promo){--cw-accent:#9ae9d9;--cw-ink:#e7f6f0;--cw-muted:#b8d1c9;--cw-surface:#152f32;--cw-soft:#203f41;--cw-line:#476564;--cw-cell:#1c383a;--cw-shadow:#0003}
html[data-theme='dark'] :is(.cw-chapter,.cw-page)[data-accent='pink']{--cw-accent:#f0b3d0;--cw-soft:#3e293c;--cw-line:#78516e}
html[data-theme='dark'] :is(.cw-chapter,.cw-page)[data-accent='purple']{--cw-accent:#d0b5f4;--cw-soft:#332c4a;--cw-line:#6c5f87}
html[data-theme='dark'] .cw-page :is(.cw-button-primary,.cw-square.is-filled,.cw-letter.is-selected,.cw-level.is-complete){color:#142c30}
html[data-theme-mode='auto'] :is(.cw-page,.cw-promo){--cw-accent:var(--deep);--cw-ink:var(--ink);--cw-muted:var(--muted);--cw-surface:var(--theme-surface);--cw-soft:var(--theme-soft);--cw-line:var(--line);--cw-cell:var(--auto-cell)}
html[data-theme-mode='auto'] .cw-hero{background:radial-gradient(ellipse at 80% 0,#8153a840,transparent 65%),linear-gradient(120deg,#161020,#291b35 60%,#40283e)}
html[data-theme-mode='auto'] .cw-hero .cw-eyebrow,html[data-theme-mode='auto'] .cw-hero p.cw-hero-tagline{color:#f2b1cf}
html[data-theme-mode='auto'] .cw-page .cw-hero a:focus-visible{outline-color:#f2b1cf}
html[data-theme-mode='auto'] .cw-hero .cw-button-primary{background:#f2b1cf;color:#2e1831;border-color:#f2b1cf;box-shadow:0 4px 0 #8c567c}
html[data-theme-mode='auto'][data-theme='dark'] .cw-page :is(.cw-button-primary,.cw-square.is-filled,.cw-letter.is-selected,.cw-level.is-complete){color:#211626}
@keyframes cw-arrive{from{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes cw-letter-pop{from{transform:scale(.9)}to{transform:scale(1)}}
@media(max-width:1100px){.cw-chapters{grid-template-columns:1fr}.cw-chapter{padding:24px}.cw-chapter-heading{min-height:0;margin-bottom:20px}.cw-level-map{grid-template-columns:repeat(10,minmax(0,1fr));gap:12px}.cw-hero-copy{padding-left:30px}.cw-play-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:18px}}
@media(max-width:760px){.cw-hero{grid-template-columns:1fr;min-height:0;border-radius:24px}.cw-hero-copy{padding:29px 28px 6px}.cw-hero h1{font-size:48px;letter-spacing:-2px}.cw-hero-actions{margin-top:22px}.cw-hero-meta{max-width:none}.cw-art{height:285px;--cw-orbit:88px}.cw-art-dish{width:244px;height:244px}.cw-art-caption{display:none}.cw-art-footer{bottom:5px;font-size:7px}.cw-art-letters>span{width:36px;height:36px;margin:-18px 0 0 -18px;font-size:19px;border-radius:10px}.cw-stats{gap:9px;margin:22px 0 28px}.cw-stats>div{padding:17px 13px}.cw-stats strong{font-size:25px}.cw-stats span{font-size:10px}.cw-level-map{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.cw-play-layout{grid-template-columns:1fr}.cw-controls{max-width:none}.cw-wheel{width:270px;max-width:100%}.cw-letter{width:48px;height:48px}.cw-board-panel{padding:24px}.cw-board{margin:26px auto;width:min(100%,calc(var(--cw-columns)*42px))}.cw-controls .cw-how{margin-top:18px}.cw-play-top .cw-chapter-name{display:none}.cw-promo{padding:23px;gap:16px}.cw-promo-tiles{max-width:135px;gap:7px}.cw-promo-tiles span{width:32px;height:32px;font-size:16px;border-radius:7px}.cw-account-name{max-width:100%}.cw-play-score{font-size:11px}.cw-star-rule{font-size:10px}}
@media(max-width:420px){.cw-hero-copy{padding:26px 22px 4px}.cw-hero h1{font-size:42px}.cw-hero p.cw-hero-description{font-size:14px}.cw-hero-actions{gap:12px}.cw-hero-meta{font-size:9px}.cw-stats>div{padding:15px 10px}.cw-stats strong{font-size:22px}.cw-stats span{font-size:9px}.cw-chapter{padding:22px 18px}.cw-level-map{gap:9px}.cw-level{min-height:63px}.cw-chapter-heading h2{font-size:21px}.cw-board-panel{padding:20px 14px}.cw-board{gap:4px}.cw-square{border-radius:6px;font-size:16px}.cw-board-meta .cw-eyebrow{font-size:8px;letter-spacing:1px}.cw-word-count{font-size:10px}.cw-controls{padding:20px 16px}.cw-letter{width:44px;height:44px;font-size:22px}.cw-type-form .cw-button{padding:10px}.cw-promo{display:block}.cw-promo-tiles{display:none}.cw-discovery{padding:17px}.cw-hero .cw-button-primary{padding:11px 16px}.cw-account{font-size:11px}.cw-play-title{font-size:30px}.cw-win h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.cw-page,.cw-square.is-filled,.cw-win{animation:none}.cw-button,.cw-level,.cw-square{transition:none}.cw-button:hover,.cw-button:active,.cw-level:hover:enabled{transform:none}}

/* AST uses the Gram-positive colour family for its bench-to-report trail. */
.cw-framework-badge{display:block;width:max-content;max-width:100%;border:1px solid #e7cef35c;border-radius:22px;background:#ffffff10;color:#f0def6;padding:6px 11px;margin-top:12px;font:650 9px/1.5 ui-monospace,monospace;letter-spacing:.3px}
.cw-ast-chapter .cw-identification-banner{background:radial-gradient(ellipse at 85% 20%,#af73b540,transparent 60%),linear-gradient(120deg,#221e3d,#483353)}
.cw-ast-chapter .cw-identification-banner .cw-eyebrow{color:#e5c9f9}
.cw-ast-chapter .cw-identification-banner .cw-button-primary{background:#e1c4f4;color:#302040;border-color:#e1c4f4;box-shadow:0 4px 0 #8d70a2}
.cw-page .cw-ast-chapter .cw-identification-banner a:focus-visible{outline-color:#efdbfa}
.cw-ast-chapter .cw-id-core{font-size:20px;background:linear-gradient(135deg,#fff1fc,#d2b3ed);color:#3c2352;border-color:#ecd8fa;box-shadow:0 5px 0 #8e71a1,0 12px 18px #0003}
