
/* design2: shared accessibility primitives, individual page compositions below */
:root{--accent:#244fdb;--line:#dfe4ed;--ink:#202a3d;--surface:#fff;--muted:#657087;--radius:12px}html,body{color:var(--ink);background:var(--surface)}body{line-height:1.5}a{color:var(--accent);text-underline-offset:4px}button,input,textarea,select{font:inherit}button{min-height:36px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:disabled{opacity:.5}.site-header{height:auto;min-height:76px;width:100%;max-width:none;margin:0;padding:18px max(28px,4vw);background:var(--surface);gap:20px;border-bottom:1px solid var(--line)}.brand,.brand span,.brand span:last-child{font:750 21px/1.2 system-ui,sans-serif;letter-spacing:-.8px;white-space:nowrap}.site-header nav{gap:24px;width:auto;margin:0}.site-header nav a{font-size:13px;font-weight:650;text-decoration:none;color:var(--muted)}.site-header nav a:hover{color:var(--accent)}.site-header .header-actions{display:flex;gap:8px;align-items:center}.raised{background:transparent;border:1px solid var(--line);box-shadow:none;border-radius:99px;padding:9px 15px;font-size:12px;color:var(--ink)}.primary,button.primary:hover,.actions button.primary,#spin-all{background:var(--accent);color:white;box-shadow:none}.decision-intro .eyebrow,.eyebrow{font:700 10px/1.6 system-ui,sans-serif;text-transform:uppercase;letter-spacing:2.2px;color:var(--accent)}.decision-intro h1{letter-spacing:-2px;line-height:1.06;margin:14px 0;font-weight:600}.decision-intro>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.7}.intro-links{display:flex;gap:10px;flex-wrap:wrap}.intro-links a{display:inline-block;font-size:12px;text-decoration:none;padding:8px 12px;border:1px solid var(--line);border-radius:99px}.intro-links a:hover{background:var(--surface)}.page-tools{position:static;height:auto;max-width:none;margin:0;padding:0 20px;display:flex;justify-content:center;gap:12px}.page-tools #sound{display:inline-block;color:var(--muted);font-size:11px}.page-tools #storage-badge{display:none}#wheels{max-width:none;margin:0;gap:24px}.wheel-card{min-height:0;padding:0;min-width:0}.wheel-side{min-width:0;padding:0;background:none}.wheel-top{width:100%;height:34px;display:flex;align-items:center;margin:0 0 14px}.wheel-top button{padding:5px 10px;min-height:30px;color:var(--muted)}.wheel-name{height:auto;min-height:28px;padding:4px 0;font-size:12px;color:var(--muted);text-align:left;flex:1;margin:0;width:auto;max-width:75%;border:0;background:transparent}.wheel-stage{width:100%;margin:0 auto;aspect-ratio:1;flex-shrink:0;filter:none;position:relative;border-radius:50%}.wheel-stage canvas{margin:0;width:100%;height:100%;display:block;border:0;border-radius:50%}.pointer{right:auto;left:calc(50% - 11px);top:-15px;border-left:11px solid transparent;border-right:11px solid transparent;border-top:24px solid var(--ink);border-bottom:0;filter:none}.hub{width:22%;height:22%;left:39%;top:39%;background:var(--surface);border:0;box-shadow:0 0 0 5px #ffffff50}.spin-invitation{top:47%;left:39%;width:22%;font:700 13px/1 system-ui,sans-serif;color:var(--accent);text-align:center;text-shadow:none;z-index:2}.editor{width:100%;max-width:none;min-height:0;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:block}.tabs{display:flex;background:transparent;border-bottom:1px solid var(--line);margin:0 0 10px;height:auto;gap:2px;overflow-x:auto}.tabs button{font-size:17px;flex:0 0 auto;padding:7px;color:var(--muted);min-height:36px;white-space:nowrap;border-radius:0}.tabs button:first-child,.tabs button:nth-child(2){font-size:11px;font-weight:700;flex:1}.tabs button.active{color:var(--accent);border-color:var(--accent);background:transparent}.entry-tools{gap:5px;margin-bottom:10px;flex-wrap:wrap}.entry-tools button{font-size:11px;padding:5px 8px;box-shadow:none;flex:1;background:transparent;border:1px solid var(--line);border-radius:6px;white-space:nowrap;min-height:30px}.entry-content{min-height:0;display:block}.entry-box{display:block}.entry-text{width:100%;min-height:115px;height:130px;max-height:440px;resize:vertical;background:transparent;border:1px solid var(--line);font-size:14px;line-height:1.7;border-radius:6px;padding:12px 14px 28px;color:var(--ink)}.emoji-button{bottom:10px;right:10px;font-size:16px;padding:0 5px;background:var(--surface);color:var(--muted)}.editor-bottom{font-size:10px;display:flex;justify-content:space-between;height:auto;padding:4px 0;color:var(--muted)}.badge{background:transparent;color:var(--muted);padding:0}.editor-note{display:none}.picker-row{margin:4px 0 0;padding:0;border:0;border-top:1px solid var(--line)}.picker-row summary{font-size:10px;font-weight:700;letter-spacing:1px;color:var(--muted);padding:12px 0}.style-swatches{display:flex;gap:10px;overflow-x:auto;padding:5px 0 12px}.style-swatches button{font-size:10px;flex-shrink:0;padding:2px}.palette-preview{display:block;width:28px;height:28px;border-radius:50%;margin:auto auto 4px}.preset-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 12px}.preset-chips button,.preset-chips a{border:1px solid var(--line);border-radius:99px;padding:6px 9px;font-size:10px;background:var(--surface);color:var(--ink);text-decoration:none}.editor-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px}.editor-foot button{font-size:11px}.hidden-editor .entry-content,.hidden-editor .entry-tools,.hidden-editor .editor-bottom,.hidden-editor .editor-note{display:none}.results-panel{min-height:130px;height:auto;max-height:320px;border-color:var(--line);background:transparent}.weights-panel{border-color:var(--line)}.guide{border-top:1px solid var(--line);max-width:1040px;line-height:1.75}.guide h2{margin-top:30px}.guide-grid{gap:24px}.guide-grid article{padding:20px;border:1px solid var(--line);border-radius:var(--radius)}#status{font-size:12px;color:var(--muted);margin:20px;min-height:20px}.multi#wheels{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.multi .wheel-card{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:15px;border:1px solid var(--line);border-radius:var(--radius);min-height:0}.multi .wheel-side{padding:0;max-width:100%}.multi .wheel-stage{width:100%;max-width:360px}.multi .editor{min-height:0;max-width:none}.multi .spin-invitation{font-size:11px}dialog{background:var(--surface);color:var(--ink);border-radius:var(--radius)}.winner-head{background:var(--accent)}.modal-tabs button.active{border-color:var(--accent);color:var(--accent)}.setting-section select,.setting-section input[type=text],.field{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px}.small{color:var(--muted)}.gallery{max-width:1180px;margin:auto;padding:55px 28px}.gallery-hero h1{line-height:1.1;margin:10px 0 20px}.gallery-hero p{color:var(--muted)}.gallery-hero input{width:100%;max-width:620px;padding:15px 18px;border:1px solid var(--line);background:var(--surface);font-size:15px;margin:15px 0 25px;border-radius:var(--radius)}.category-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;border:0;box-shadow:none;justify-content:flex-start;padding:0;background:transparent}.category-tabs button{font-size:11px;font-weight:650;border:1px solid var(--line);padding:10px 13px;border-radius:99px;letter-spacing:0;text-transform:none}.category-tabs button.active{background:var(--accent);border-color:var(--accent);color:white}.template-section h2{font-size:22px;margin-top:40px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;font-style:normal;text-transform:none}.template-section h2 span{color:var(--muted);font-size:13px}.catalog-grid{display:grid;gap:16px}.template-card{color:var(--ink);text-decoration:none;transition:transform .15s;background:var(--surface);border:1px solid var(--line);overflow:hidden}.template-card:hover{transform:translateY(-3px)}.template-card small{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent)}.template-card h3{font-size:19px;margin:10px 0}.template-card p{font-size:12px;color:var(--muted);line-height:1.6}.card-preview{display:grid;place-items:center}.preview-wheel{display:block;width:65px;height:65px;border-radius:50%;position:relative}.preview-wheel:after{content:'';position:absolute;inset:36%;border-radius:50%;background:var(--surface)}.site-footer{max-width:1160px;padding:30px 24px;margin:65px auto 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--muted)}.site-footer a{color:inherit}.site-footer span{margin-left:0}.site-footer p{width:100%;margin:0}.tool-nav{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 20px}.tool-nav a{font-size:11px;border:1px solid var(--line);border-radius:99px;padding:7px 10px}.tool-nav a[aria-current]{background:var(--accent);color:white}.more .tool-links a{background:var(--surface);border-color:var(--line);color:var(--ink)}body[data-tool] main{max-width:1140px}body[data-tool] .eyebrow{color:var(--accent)}body[data-tool] button.primary{background:var(--accent);border-color:var(--accent)}body[data-tool] .card{box-shadow:none;border-color:var(--line);background:var(--surface)}body[data-tool] input,body[data-tool] textarea,body[data-tool] select{border-color:var(--line)}.dark{filter:none;background:#182132;color:#e9edf7}.dark body{background:#182132;color:#e9edf7}.dark{--surface:#182132;--ink:#e9edf7;--muted:#c2c9d6;--line:#465164;--accent:#9db1ff}.dark canvas,.dark .brand,.dark .palette-preview{filter:none}.dark .wheel-side{background:none}.dark .editor{background:var(--surface)}.dark .entry-text,.dark .wheel-name{color:var(--ink)}.dark .guide-grid article{background:var(--surface)}.dark .primary,.dark .winner-head{color:#182132}body.overlay{background:transparent}body.overlay .tool-nav{display:none}@media(max-width:850px){.site-header{padding:16px 20px;gap:14px;flex-wrap:wrap;justify-content:space-between}.brand,.brand span,.brand span:last-child{font-size:19px}.site-header nav{order:3;width:100%;justify-content:flex-start;gap:19px;overflow-x:auto;flex-wrap:nowrap;padding:3px 0}.site-header nav a{white-space:nowrap;font-size:12px}.site-header .header-actions{margin-left:auto}.guide-grid{grid-template-columns:1fr}.multi#wheels{grid-template-columns:1fr}.gallery{padding:35px 20px}.catalog-grid{grid-template-columns:1fr!important}.template-section h2{font-size:21px}.guide{margin:35px 20px;padding:25px 0}.guide h2{font-size:24px}.site-footer{margin-top:40px;padding:25px 20px}.site-footer nav{width:100%;gap:15px;flex-wrap:wrap}.actions{flex-wrap:wrap}.split{grid-template-columns:1fr}.brand{max-width:100%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}.template-card{transition:none}}

:root{--accent:#275bac;--ink:#343a47;--muted:#767b86;--line:#e0dfd6;--surface:#f9f7ef;--radius:10px}html,body{background:#f9f7ef;font-family:Verdana,system-ui,sans-serif}.site-header{display:flex;min-height:100px;background:#fffdf6;border-top:6px solid #efc846;border-bottom:1px solid #e0dfd6;flex-wrap:wrap;padding:21px max(24px,4vw);gap:16px}.site-header .brand{font:800 24px system-ui,sans-serif}.site-header nav{margin-left:auto;gap:6px}.site-header nav a{padding:9px 13px;border-radius:7px;font:650 12px system-ui,sans-serif;color:#596475}.site-header nav a:hover{background:#eeeadc}.site-header .raised{border-radius:7px;background:#fff;border-color:#d7d8d0;padding:11px 15px}.decision-intro{max-width:1290px;margin:25px auto 27px;padding:0 34px;display:grid;grid-template-columns:1fr auto;gap:0 35px;align-items:center}.decision-intro .eyebrow{font-size:10px;letter-spacing:1.2px;color:#aa7227;grid-column:1}.decision-intro h1{font:700 clamp(33px,3.7vw,48px)/1.12 Verdana,sans-serif;letter-spacing:-2px;grid-column:1;margin:8px 0}.decision-intro>p:not(.eyebrow){grid-column:1;max-width:660px;font:14px/1.8 Verdana,sans-serif;margin:10px 0}.decision-intro .intro-links{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;gap:10px}.intro-links a{border-radius:7px;font-size:12px;background:#fffdf7;border:1px solid #d9d8cd;color:#4d5e75;padding:11px 14px}.intro-links a:first-child{background:#275bac;color:white;border-color:#275bac;font-weight:700}.page-tools{max-width:1240px;margin:0 auto;padding:0 30px 12px;justify-content:flex-end}#wheels{max-width:1240px;margin:auto;padding:0 30px}.wheel-card{display:grid;grid-template-columns:340px minmax(0,1fr);gap:30px;align-items:stretch}.editor{order:0;background:#fffdf7;border:1px solid #d9d8cc;border-radius:6px;padding:17px;box-shadow:4px 4px 0 #ece8d8;position:relative}.editor:before{content:'YOUR CLASS LIST';display:block;font:750 10px system-ui,sans-serif;letter-spacing:1.2px;color:#b4883b;border-bottom:3px solid #f0d36a;padding:0 0 11px;margin-bottom:12px}.tabs button{font-size:17px;padding:7px 5px;min-height:38px}.tabs button:first-child,.tabs button:nth-child(2){font-size:11px}.entry-text{background:repeating-linear-gradient(#fffdf7 0,#fffdf7 29px,#e5e7ea 30px);border:1px solid #d6dfec;border-left:3px solid #de8a83;border-radius:2px;font:17px/30px Verdana,sans-serif;min-height:280px;height:280px;padding:6px 13px 30px}.entry-tools button{font-size:10px;padding:7px;border-radius:5px;background:#f4f1e5;min-height:34px}.editor-foot .primary{border-radius:6px}.picker-row summary{font-size:10px}.wheel-side{order:1;padding:20px 28px 35px;border:1px solid #e0ddd1;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f2eee0;background-image:radial-gradient(#d2cdbd 1px,transparent 1px);background-size:18px 18px}.wheel-top{margin-bottom:25px;background:#fffdf7;border:1px solid #ddd9cd;border-radius:7px;padding:0 6px;height:38px}.wheel-name{font-size:13px;font-weight:600;color:#67758a}.wheel-stage{max-width:490px;width:100%;border:9px solid #fffdf7;box-shadow:0 0 0 1px #ccc7b8,0 9px 0 #dcd5c2,0 15px 23px #6b572710}.pointer{border-top-color:#c94f42;top:-24px;border-left-width:14px;border-right-width:14px;border-top-width:29px;left:calc(50% - 14px)}.hub{background:#fffdf7;box-shadow:0 0 0 5px #fffdf780}.spin-invitation{font:800 14px system-ui,sans-serif;color:#275bac}.teacher-caption{font:12px/1.7 Verdana,sans-serif;max-width:420px;text-align:center;margin:28px auto 0;color:#74776e;background:#fffdf7;padding:12px 17px;border:1px solid #dfdaca;border-radius:6px}.teacher-caption a{font-weight:650}.guide{max-width:1140px;margin-top:60px;padding:35px 0}.guide h2{font-size:26px;letter-spacing:-.7px}.guide-grid{gap:22px}.guide-grid article{background:#fffdf7;border:0;border-top:5px solid #f0d36a;border-radius:3px;box-shadow:3px 3px 0 #e9e6d9}.guide-grid article:nth-child(2){border-color:#79a6cd}.guide-grid article:nth-child(3){border-color:#dd8c79}.guide-grid article h3{font-size:19px}.specialty{border:1px solid #ccdae9;border-left:6px solid #275bac;border-radius:5px;background:#edf3f8;padding:23px}.specialty h2{font-size:22px;margin:0 0 10px}.specialty p{font-size:13px}.gallery{max-width:1260px;padding:40px 32px}.gallery-hero{text-align:left;padding:32px;background:#fffdf7;border:1px solid #ddd9cd;border-top:5px solid #f0d36a;box-shadow:5px 5px 0 #e9e5d7}.gallery-hero h1{font-size:41px;font-weight:700;letter-spacing:-1.6px;color:#343e51;max-width:740px}.gallery-hero p{font-size:14px;line-height:1.8;max-width:770px}.gallery-hero input{margin-bottom:0;background:#fff;border-radius:5px;max-width:100%}.category-tabs{gap:8px;margin:25px 0}.category-tabs button{border-radius:6px;background:#fffdf7;font-size:11px;border-color:#d5d7cd}.category-tabs button.active{background:#275bac;color:white}.catalog-grid{grid-template-columns:repeat(3,1fr);gap:20px}.template-card{display:block;background:#fffdf7;border:1px solid #ddd9cd;border-top:5px solid #e5c967;border-radius:3px;box-shadow:3px 3px 0 #eae5d6}.template-card:nth-child(3n+2){border-top-color:#82abcd}.template-card:nth-child(3n){border-top-color:#dca18a}.card-preview{display:none}.template-card>div:last-child{padding:25px}.template-card h3{font:700 21px/1.3 Verdana,sans-serif;letter-spacing:-.6px}.template-card small{color:#8a762f;font-size:8px}.template-card p{font-size:12px}.template-section h2{font:700 23px Verdana,sans-serif}.site-footer{border-top:1px solid #ddd9cc;font-size:11px}.article{max-width:920px;margin:40px auto;padding:35px;background:#fffdf7;border:1px solid #ddd9cd;border-top:5px solid #f0d36a;line-height:1.9;box-shadow:5px 5px 0 #e9e5d7}.article h1{font:700 40px/1.15 Verdana,sans-serif;letter-spacing:-1.8px}.article h2{font-size:25px}.article .callout{background:#edf3f8;border:1px solid #ccdbea;border-radius:5px}.specialist-page{--bg:#f9f7ef;--paper:#fffdf7;--ink:#343a47;--muted:#747c89;--line:#dedbd0;--accent:#275bac}.specialist-page .intro h1{font-weight:700;font-family:Verdana,sans-serif;letter-spacing:-1.8px}.specialist-page .classroom{background:#f9f7ef}.specialist-page .roster,.specialist-page .roster-panel,.specialist-page .editor{background:#fffdf7;border:1px solid #dad8cd;border-radius:6px;box-shadow:4px 4px 0 #e9e5d6}.specialist-page .wheel-panel{background-color:#f0ebdb;background-image:radial-gradient(#d1cbb8 1px,transparent 1px);background-size:19px 19px;border-radius:9px}.specialist-page .wheel-wrap{border:0;background:transparent}.specialist-page input,.specialist-page textarea{background:#fffdf7;border-color:#c7d4e1;border-radius:3px}.specialist-page textarea{font:17px/1.8 Verdana,sans-serif}.specialist-page button{border-radius:6px;min-height:42px;font-size:13px}.specialist-page button.primary,.specialist-page #spin{background:#275bac;color:#fff;border-color:#275bac}.specialist-page .attendance{background:#f2efdf}.specialist-page .history{background:#fffdf7;border-color:#ddd9cd}.specialist-page .help-grid article{background:#fffdf7;border-top:4px solid #e8cd67;border-radius:3px}.specialist-page.projecting .wheel-panel{background:#f9f7ef}.specialist-page.projecting .teacher-caption{display:none}body[data-tool] h1{font:700 42px Verdana,sans-serif;letter-spacing:-1.8px}body[data-tool] .card{background:#fffdf7;border:1px solid #dedbce;border-top:5px solid #e8cd67;border-radius:4px;box-shadow:4px 4px 0 #eae5d7}body[data-tool] .card:nth-child(2){border-top-color:#87a8c7}body[data-tool] button{font-size:14px;border-radius:6px;min-height:42px}body[data-tool] input,body[data-tool] textarea,body[data-tool] select{border-radius:4px;background:#fffdf7;font-size:15px}body[data-tool] .tool-nav a{border-radius:5px;background:#fffdf7;font-size:11px}body[data-tool] .die{background:#f9ecb9;border-color:#d9b54d}.dark .wheel-side{background-color:#27354b;background-image:radial-gradient(#576277 1px,transparent 1px)}.dark .entry-text,.dark .editor,.dark .wheel-top,.dark .teacher-caption,.dark .template-card,.dark .gallery-hero{background:var(--surface);color:var(--ink)}.dark .decision-intro h1,.dark .gallery-hero h1{color:var(--ink)}@media(max-width:1000px){.wheel-card{grid-template-columns:300px minmax(0,1fr);gap:20px}.wheel-side{padding:20px}.decision-intro{display:block}.decision-intro .intro-links{flex-direction:row;margin-top:20px}.site-header nav{order:3;width:100%;margin:0;justify-content:flex-start;padding:0}.wheel-stage{max-width:430px}.teacher-caption{font-size:11px}}@media(max-width:760px){.wheel-card{display:flex;flex-direction:column}.wheel-side{order:0;width:100%;padding:15px 24px 28px}.editor{order:1}.editor:before{font-size:12px}.wheel-stage{max-width:360px}.entry-text{min-height:215px;height:230px}.decision-intro{padding:0 22px}.decision-intro h1{font-size:34px}.decision-intro>p:not(.eyebrow){font-size:13px}.decision-intro .intro-links{flex-wrap:wrap;gap:7px}.intro-links a{font-size:11px}#wheels{padding:0 20px}.gallery-hero{padding:23px}.gallery-hero h1{font-size:32px}.site-header .brand{font-size:21px}.article{margin:25px 20px;padding:25px}.article h1{font-size:32px}.teacher-caption{margin-top:24px}.specialist-page .intro h1{font-size:36px}}

.specialist-page .classroom{grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr)}.specialist-page .classroom .controls{order:-1;border-radius:6px;background:#fffdf7;border:1px solid #dcd8ca;box-shadow:4px 4px 0 #e9e5d6}.specialist-page .tabs .tab{font-size:13px}.specialist-page h2{font-family:Verdana,sans-serif;font-size:25px}.specialist-page .privacy-note{background:#f3eccc;border-radius:7px}.specialist-page .round{background:#fffdf7}.specialist-page.projecting .classroom{display:block}@media(max-width:760px){.specialist-page .classroom{grid-template-columns:1fr}.specialist-page .classroom .controls{order:0}.specialist-page .classroom .wheel-panel{order:-1}}

.site-header nav a{display:inline-block;flex-shrink:0}
