:root{color-scheme:light;--ink:#213e35;--green:#245b49;--paper:#f7f5ee;--muted:#65756d;--line:#dce2d7;--prefix:#e5e5fb;--root:#cfe6cb;--suffix:#ffe7a3;--ending:#f8d9cd;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,summary,select{cursor:pointer}button{min-height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px 15px;transition:background .12s}button:hover{background:#eef2e9}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #8854b5;outline-offset:3px}a{color:var(--green)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}p{line-height:1.6}h2{font-size:20px;line-height:1.45}h3{font-size:14px}label{display:block;font-size:14px;font-weight:600}input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #c8d3c5;border-radius:8px;background:#fff;margin-top:7px}textarea{resize:vertical}input[type=checkbox]{accent-color:var(--green)}.top{max-width:1440px;margin:auto;padding:23px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px}.top>a{text-decoration:none;font-weight:850;letter-spacing:.06em}.top>a span{font-weight:400;color:var(--muted);font-size:13px;margin-left:12px}.top>div{display:flex;gap:8px}.top button{background:transparent}main{max-width:1360px;padding:0 32px;margin:auto}.intro{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:46px 0 38px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--muted);margin-bottom:9px}h1{font-size:clamp(32px,4.1vw,57px);font-weight:650;line-height:1.13;letter-spacing:-.055em;margin-bottom:18px}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--green)}.intro p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:590px}.word-art{min-width:300px;transform:rotate(-5deg);text-align:center}.word-art span,.word-art b{display:inline-block;font:34px Georgia,serif;padding:14px 16px;border-radius:8px;border:1px solid #b5c5b1;box-shadow:0 5px 0 #d4dbcc;background:var(--prefix)}.word-art b{background:var(--root);transform:translateY(-7px)}.word-art span:nth-child(3){background:var(--suffix)}.word-art small{display:block;margin-top:16px;font-size:12px;color:var(--muted)}.modes{display:flex;gap:5px;padding:6px;background:#ebece3;border-radius:12px;margin-bottom:23px}.modes button{flex:1;background:transparent;border:0;text-align:left;color:var(--muted);font-size:12px;padding:13px 18px}.modes span{margin-left:12px;font-size:15px;font-weight:650}.modes button[aria-pressed=true]{background:var(--green);color:white;box-shadow:0 3px 8px #183e301c}.workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px;align-items:start}.panel{background:#fffefa;border:1px solid var(--line);border-radius:16px;padding:24px}.palette{position:sticky;top:12px}.family-label{font-size:16px}.piece-group{padding-top:20px}.piece-group h3{margin-bottom:9px}.tray{display:flex;gap:7px;flex-wrap:wrap}.chip{font-size:20px;font-weight:600;padding:7px 15px;min-width:45px;border:1px solid #00000010}.prefix{background:var(--prefix)}.root{background:var(--root)}.suffix{background:var(--suffix)}.ending{background:var(--ending)}.hint,.small{font-size:12px;color:var(--muted);line-height:1.6;margin-top:8px}.hint{font-size:12px}.palette details{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}summary{font-size:13px;font-weight:600}form{display:grid;gap:13px;margin-top:16px}.primary{background:var(--green);color:white}.primary:hover{background:#326f59}.main-column{min-width:0;display:grid;gap:20px}.section-title{display:flex;justify-content:space-between;align-items:start;gap:15px}.section-title h2{font-size:18px;max-width:520px}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button{font-size:12px;white-space:normal}.board-scroll{overflow-x:auto;margin-top:20px;border:1px solid var(--line);border-radius:12px;background-color:#f8faf4;background-image:radial-gradient(#c6d2c4 1px,transparent 1px);background-size:20px 20px}#board{position:relative;width:1360px;height:340px}.tile{position:absolute;touch-action:none;user-select:none;height:62px;border:1px solid #0002;border-radius:8px;font-size:32px;font-weight:650;padding:5px 10px;box-shadow:0 4px 0 #00000012;cursor:grab}.tile[aria-pressed=true]{outline:3px solid var(--green);outline-offset:3px;z-index:2}.tile:active{cursor:grabbing}.reading{display:flex;align-items:center;gap:18px;margin-top:24px;flex-wrap:wrap}.reading>span{font-size:9px;letter-spacing:.14em;font-weight:700;color:var(--muted);max-width:90px}.reading output{font-size:38px;letter-spacing:-.035em;font-weight:650;overflow-wrap:anywhere;flex:1;min-width:100px}.reading button{font-size:12px}.result{background:#eef3e8;border-left:3px solid #6e9265;border-radius:0 9px 9px 0;padding:16px 20px;margin-top:20px}.result strong{font-size:14px}.result p{font-size:13px;margin-top:4px}.inspector{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin-top:16px}.inspector label{max-width:160px;font-size:12px}.inspector button{font-size:12px}.mode-panel>p{margin-bottom:12px}.examples{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.example{text-align:left;display:flex;flex-direction:column;gap:8px;padding:16px;background:#fafaf4}.example strong{font:27px Georgia,serif}.example>span:last-child{font-size:12px;line-height:1.55}.example .eyebrow{font-size:9px;margin:0}.mode-panel h2{margin-bottom:12px}#answer-feedback{margin-top:18px}#teacher{margin-bottom:22px}#teacher>label{margin-top:14px}.settings{display:flex;gap:20px;flex-wrap:wrap;margin:18px 0}#teacher p{font-size:12px;color:var(--muted)}#notice:not(:empty){padding:12px 18px;background:#fff0c4;border:1px solid #dec479;border-radius:10px;margin-bottom:16px;font-size:14px}.note{padding:18px 0;border-top:1px solid var(--line);margin-top:20px}.note h3{font:26px Georgia,serif}.note p,.note blockquote{font-size:14px;overflow-wrap:anywhere}.note blockquote{margin:8px 0;font-style:italic}.note button{font-size:12px}footer{border-top:1px solid var(--line);margin:40px 0 0;padding:24px 0 30px;color:var(--muted);font-size:12px;display:grid;grid-template-columns:1fr 1fr;gap:20px;line-height:1.8}footer details p{margin-top:12px}#offline-status{grid-column:1/-1;margin:0}
@media(max-width:1000px){.word-art{display:none}.workspace{grid-template-columns:220px minmax(0,1fr)}.panel{padding:18px}.examples{grid-template-columns:repeat(2,1fr)}.modes button{padding:12px 8px}.modes span{margin-left:5px}.section-title{flex-wrap:wrap}}
@media(max-width:700px){main{padding:0 16px}.top{padding:16px;align-items:start}.top>a span{display:none}.top button{font-size:11px;padding:8px}.intro{padding:30px 0}.intro p:not(.eyebrow){font-size:14px}.modes{display:grid;grid-template-columns:1fr 1fr;gap:5px}.modes span{font-size:13px}.workspace{display:flex;flex-direction:column}.palette{position:static;width:100%}.main-column{width:100%}#palette{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.palette .hint{display:none}.piece-group{padding-top:16px}#board{height:330px}.board-scroll{margin-top:15px}.reading output{font-size:30px}.examples{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr}.intro h1{max-width:360px}.inspector label{max-width:130px}.tile{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{.top,.modes,.palette,.board-panel,footer,#teacher,#notice,#invention,.note button,#export{display:none!important}.workspace{display:block}.panel{border:0;padding:0}.intro{padding:10px 0}.intro h1{font-size:28px}}

.panel{min-width:0}.main-column{grid-template-columns:minmax(0,1fr)}

.result[data-status=possible]{background:#fff5d8;border-color:#b58920}.result[data-status=problem]{background:#fff0eb;border-color:#b35f48}.result[data-status=uncertain]{background:#f0edf8;border-color:#81719e}.result .eyebrow{display:block}.result ul{padding-left:20px;font-size:13px;line-height:1.6}.result li+li{margin-top:6px}#result-question{font-weight:650}#result-repair{font-weight:650}.try-examples{margin-top:18px}.try-examples p{font-size:12px;margin-bottom:8px}.try-examples button{font-size:12px}

.lexical-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-top:14px}.lexical-panel details{margin-top:8px}.lexical-panel form{display:flex;align-items:end;gap:10px}.lexical-panel label{flex:1;min-width:0}#lookup-result{font-size:13px;margin-top:12px;overflow-wrap:anywhere}.result[data-status=dictionary]{background:#eaf3ed;border-color:#438664}

.analysis-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}.analysis-list li{padding:14px;background:#f0f4ec;border:1px solid var(--line);border-radius:9px}.analysis-list p{font-size:13px;margin-top:4px}.analysis-list details{margin-top:8px}.analysis-list code{font-size:11px;overflow-wrap:anywhere}.morphology-panel{margin:14px 0}.morphology-panel h3{font-size:16px}.lexical-panel form{flex-wrap:wrap}.lexical-panel form label{flex:1 1 210px}.result[data-status=morphology]{background:#eaf3ed;border-color:#438664}#compare-result>p{font-weight:650;margin-top:16px}

/* A fixed classroom workspace. Only auxiliary panes/dialogs may scroll. */
html,body{height:100%;width:100%;overflow:hidden}body{height:100dvh;display:flex;flex-direction:column;overscroll-behavior:none}
.top{width:100%;max-width:none;flex:0 0 auto;margin:0;padding:8px 18px;gap:8px}.top>div{gap:5px}.top button{min-height:36px;padding:5px 10px;font-size:12px}
main{width:100%;max-width:none;min-height:0;flex:1;padding:10px 14px 14px;display:flex;flex-direction:column;gap:10px}.intro{display:none}.modes{flex:0 0 auto;margin:0;padding:4px}.modes button{padding:8px 12px;min-height:38px}.modes span{font-size:14px}
.workspace{flex:1;min-height:0;grid-template-columns:180px minmax(250px,1fr) minmax(290px,350px);gap:12px;align-items:stretch}.panel{border-radius:12px;padding:14px}.palette{position:static;min-height:0;display:flex;flex-direction:column;gap:8px}.palette>.eyebrow{display:none}.palette .family-label{font-size:13px}.palette select{margin:0;padding:8px}.palette>button{flex:none;font-size:12px;margin-top:auto}.piece-group{padding-top:10px}.piece-group h3{font-size:12px;margin-bottom:5px}.piece-group .small{font-size:11px;line-height:1.3}.tray{gap:4px}.chip{font-size:18px;min-width:36px;min-height:34px;padding:3px 9px}#palette{min-height:0;overflow:auto;scrollbar-width:thin}
.main-column{min-height:0;display:flex;flex-direction:column;gap:0}.board-panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px}.section-title{flex-wrap:wrap;gap:8px}.section-title .eyebrow{margin-bottom:3px}.section-title h2{font-size:16px;line-height:1.35;max-height:4.1em;overflow:auto}.section-title .actions button{min-height:32px;padding:4px 9px}.board-panel>.hint{display:none}.board-scroll{position:relative;flex:1;min-height:80px;overflow:hidden;margin:0}#board{height:340px;transform-origin:top left;position:absolute;left:4px}.tile{font-size:32px}
.reading{flex:none;flex-wrap:nowrap;gap:10px;margin:0;min-height:46px}.reading output{font-size:clamp(24px,3vw,38px);min-width:0;max-height:2.5em;overflow:auto;line-height:1.2}.reading>span{max-width:65px;font-size:8px}.reading button{min-height:34px;padding:5px 8px;font-size:11px}.inspector{margin:0;gap:6px;flex:none}.inspector label{max-width:120px;font-size:10px}.inspector input,.inspector select{margin-top:3px;padding:5px}.inspector button{min-height:30px;padding:4px 7px;font-size:11px}
.detail-deck{min-height:0;display:flex;flex-direction:column;padding:10px;gap:12px}.deck-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;flex:none}.deck-tabs button{font-size:12px;padding:6px;min-height:34px}.deck-tabs button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.deck-section{display:none!important;min-height:0;overflow:auto;scrollbar-width:thin;padding:4px;margin:0;flex:1;border:0;background:transparent;border-radius:0}.deck-section.is-active:not([hidden]){display:block!important}.deck-section h2{font-size:18px;line-height:1.3;margin:0 0 8px}.deck-section p{font-size:13px;line-height:1.5}.deck-section .eyebrow{font-size:9px;line-height:1.5;margin-bottom:6px}.deck-section .small{font-size:11px}.examples{display:flex;flex-direction:column;gap:8px}.example{padding:10px;gap:5px}.example strong{font-size:27px}.example>span:last-child{font-size:12px;line-height:1.4}.pager{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:10px}.pager button{font-size:11px;min-height:32px;padding:4px 7px}.pager span{font-size:12px;white-space:nowrap}.analysis-list{margin:10px 0}.analysis-list li{padding:10px}.analysis-list p{font-size:14px}.result ul{padding-left:18px;line-height:1.4}.result li+li{margin-top:7px}.result strong{font-size:18px}.result[data-status]{background:transparent}.try-examples{margin-top:18px}.try-examples .actions{display:grid;grid-template-columns:1fr 1fr}.try-examples button{padding:6px;font-size:11px}.lexical-panel form{display:grid;gap:8px;margin:8px 0}.lexical-panel form label{font-size:12px}.lexical-panel form input{padding:7px}.deck-section form{gap:9px;margin-top:10px}.deck-section textarea{resize:none;min-height:58px;padding:7px}.deck-section label{font-size:12px}#inventor-panel>button{margin-top:10px}#notice:empty{display:none}#notice:not(:empty){position:fixed;bottom:14px;left:50%;transform:translateX(-50%);width:min(90vw,720px);z-index:20;margin:0;padding:10px 16px;box-shadow:0 4px 20px #0002;cursor:pointer}#share-link{position:fixed;left:10%;bottom:70px;width:80%;z-index:21}
dialog{color:var(--ink);background:var(--paper);width:min(700px,94vw);max-height:90dvh;padding:0;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 80px #0004}dialog::backdrop{background:#173b3090}.dialog-heading{position:sticky;top:0;z-index:1;background:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:14px 20px;gap:12px;border-bottom:1px solid var(--line)}.dialog-body{padding:20px;line-height:1.6}dialog .settings{display:grid;gap:14px}dialog p{margin:10px 0}#teacher{margin:auto}#teacher h2:first-child{display:none}#about-dialog details>summary{display:none}
@media(max-width:1100px){.workspace{grid-template-columns:150px minmax(220px,1fr) 290px;gap:8px}.panel{padding:10px}.top>a span{margin-left:5px}.modes span{margin-left:5px}.modes button{padding:7px}.section-title h2{font-size:14px}.chip{font-size:16px;padding:3px 7px}}
@media(max-width:800px){.top{padding:5px 8px}.top button{font-size:10px;padding:4px 6px}.top>a span{display:none}main{padding:6px;gap:6px}.modes{display:flex}.modes button{font-size:0;padding:5px}.modes span{font-size:11px;margin:0}.workspace{display:grid;grid-template-columns:125px minmax(0,1fr);grid-template-rows:minmax(170px,1fr) minmax(200px,1fr);gap:6px}.palette{grid-row:1/3;width:auto}.main-column{grid-column:2;grid-row:1}.detail-deck{grid-column:2;grid-row:2}.deck-tabs{grid-template-columns:repeat(6,1fr);gap:2px}.deck-tabs button{font-size:10px;padding:4px 2px;min-height:30px}#palette{display:block}.section-title h2{font-size:12px;max-height:2.8em}.section-title .eyebrow{display:none}.section-title .actions button{font-size:10px;min-height:26px}.reading>span{display:none}.reading output{font-size:23px}.board-panel{gap:5px}.board-scroll{min-height:50px}.inspector{gap:3px}.inspector label{max-width:85px}.inspector button{font-size:10px}.examples{display:grid;grid-template-columns:1fr 1fr}.examples .pager{grid-column:1/-1}.example strong{font-size:22px}}
@media(max-height:650px) and (min-width:801px){.top{padding-block:4px}main{padding-top:5px;gap:5px}.modes button{min-height:30px;padding-block:4px}.piece-group{padding-top:5px}.chip{min-height:29px}.deck-tabs button{min-height:28px}.detail-deck{gap:6px}.example{padding:7px}.example strong{font-size:23px}.example>span:last-child{font-size:11px}.mode-panel>p{margin-bottom:7px}.section-title .eyebrow{display:none}}
@media print{html,body{height:auto;overflow:visible}main,.workspace{display:block}.detail-deck{display:block}.deck-tabs,.modes{display:none}.deck-section{overflow:visible}}

.board-panel{position:relative}.inspector{position:absolute;bottom:70px;left:14px;right:14px;z-index:4;background:#fffefa;border:1px solid var(--line);border-radius:9px;padding:9px;box-shadow:0 5px 20px #0002}

#teacher .dialog-heading h2{display:block}@media(max-width:550px){.top{flex-wrap:wrap}.top>div{flex-wrap:wrap}.deck-tabs{grid-template-columns:repeat(3,1fr)}}

/* Intent colours remain distinct from the coloured word pieces. */
#clear,#remove{background:#a92e36;color:#fff;border-color:#a92e36}#clear:hover,#remove:hover{background:#87232a;border-color:#87232a}
.finish-edit{background:#245b49;color:#fff;border-color:#245b49}.finish-edit:hover{background:#194434;border-color:#194434}
.inspector .type-hint{flex-basis:100%;order:2;margin:0;font-size:11px;line-height:1.4;color:var(--muted)}.type-hint{font-size:12px;line-height:1.5}.inspector{bottom:68px}
.material-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:10px}.material-tabs button{font-size:11px;min-height:32px;padding:5px 2px}.material-tabs button[aria-pressed=true]{background:var(--green);color:white}.free-tray{margin-top:12px;gap:7px}.free-tray .chip{font-size:20px;min-height:38px}#material-search{padding:8px;font-size:13px}#palette .pager{flex-wrap:wrap;gap:4px}#palette .pager button{font-size:10px;padding:4px}#palette .pager span{font-size:11px}

.board-context{font-weight:700;overflow-wrap:anywhere;margin:0 0 12px;color:var(--green)}#lookup-word[readonly]{background:#edf1ea}

.selected-type-help{font-size:13px;line-height:1.5;color:var(--green)}.piece-type-guide{border:1px solid var(--line);border-radius:8px;padding:10px 12px}.piece-type-guide summary{font-weight:650;color:var(--green)}.piece-type-guide p{font-size:13px;line-height:1.5;margin-top:9px}

.create-searched-piece{width:100%;white-space:normal;overflow-wrap:anywhere;background:var(--green);color:white;font-size:13px;padding:9px}.create-searched-piece:hover{background:#194434}
