.tt-page{max-width:1400px;width:calc(100% - 40px);margin:16px auto 45px;color:#2d413b}.tt-heading{margin-bottom:24px}.tt-heading>div{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.tt-heading h1{font-size:clamp(27px,3vw,39px);margin:10px 0}.tt-inline,.tt-toolbar,.tt-source-actions,.tt-flash-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tt-source{background:#fffefa;border:1px solid #dce3d7;border-radius:20px;padding:20px 24px;box-shadow:0 3px 0 #e5e8dd}.tt-source summary{display:flex;justify-content:space-between;font-size:16px;font-weight:700;cursor:pointer}.tt-source summary span{font-size:12px;color:#7a8a7d}.tt-source-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;margin-top:22px}.tt-page label,.tt-panel label{display:flex;flex-direction:column;gap:8px;margin:10px 0;font-size:14px}.tt-page input:not([type=checkbox]):not([type=range]):not([type=color]),.tt-page textarea,.tt-page select{width:100%;min-width:0;padding:10px;border:1px solid #d1dbce;border-radius:9px;background:#fff;font:inherit;color:#2c4438;box-sizing:border-box}.tt-page textarea{resize:vertical}.tt-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tt-note,.tt-data-note{font-size:12px;color:#728172;line-height:1.7}.tt-data-note{text-align:center;margin:24px}.tt-note{margin:12px 0}.tt-error{color:#b44a3d;line-height:1.6}.tt-source-actions{padding-top:15px;margin-top:12px;border-top:1px solid #e5e9df}.tt-upload{display:inline-flex!important;align-items:center;justify-content:center;padding:10px 15px;margin:0!important;cursor:pointer}.tt-upload input{max-width:190px;font-size:12px}.tt-prepare-art{height:150px;display:flex;align-items:center;justify-content:center;position:relative;gap:7px}.tt-prepare-art span{display:grid;place-items:center;width:70px;height:85px;border:1px solid #c1d2b6;background:#ecf0df;border-radius:12px;font-size:25px;transform:rotate(-8deg)}.tt-prepare-art span:nth-child(2){background:#fff1be;transform:rotate(5deg);font-size:18px}.tt-prepare-art span:nth-child(3){background:#f6e0d7;transform:rotate(14deg);color:#c48c43}.tt-chips,.tt-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.tt-chips button,.tt-pill-row button,.tw-stroke-buttons button{padding:8px 13px;background:#fffdf7;border:1px solid #cfdcc7;border-radius:20px;color:#355e4d;cursor:pointer}.tt-chips [aria-pressed=true],.tt-pill-row [aria-pressed=true]{background:#507c64;color:white;border-color:#507c64}.tt-stage{scroll-margin-top:85px;margin-top:25px;background:#fffefb;border:1px solid #dbe3d8;border-radius:24px;padding:24px;min-height:180px}.tt-empty{text-align:center;padding:55px 15px;color:#718270}.tt-empty>span{font-size:50px}.tt-empty h2{font-size:23px}.tt-center{text-align:center}.tt-table-wrap{overflow-x:auto;margin-top:20px}.tt-table{width:100%;border-collapse:collapse;text-align:left}.tt-table th{background:#edf2e7;font-weight:600}.tt-table th,.tt-table td{padding:14px 16px;border-bottom:1px solid #e8ecdf;line-height:1.7}.tt-table td:nth-child(2){font-size:22px}.tt-table td{overflow-wrap:anywhere}.tt-word{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.tt-speak{background:#fae1a1;border:0;border-radius:50%;width:36px;height:36px;cursor:pointer;color:#5d6746}.tt-flash-top{display:flex;justify-content:center;gap:20px;align-items:center;flex-wrap:wrap;font-size:14px;color:#768371;margin:5px 0 22px}.tt-flash{width:min(400px,100%);height:360px;display:block;position:relative;perspective:1000px;margin:0 auto 24px;padding:0;background:transparent!important;border:0!important;box-shadow:none!important;cursor:pointer;color:#304536}.tt-flash-front,.tt-flash-back{position:absolute;inset:0;border:1px solid #d9dfca;border-radius:20px;background:#fffcf0;box-shadow:0 5px 0 #e1e4d6;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;transition:transform .45s ease;padding:20px;overflow-wrap:anywhere}.tt-flash-front{font-size:clamp(35px,5vw,66px);font-weight:700}.tt-flash-back{transform:rotateY(180deg);background:#edf3e7;font-size:21px}.tt-flash-back b{font-size:30px;color:#997345}.tt-flash-back strong{font-size:40px}.tt-flash.is-flipped .tt-flash-front{transform:rotateY(-180deg)}.tt-flash.is-flipped .tt-flash-back{transform:rotateY(0)}.tt-flash-controls{justify-content:center;margin:20px 0}.tt-complete{text-align:center;padding:35px 15px}.tt-complete>span{font-size:60px}.tt-complete h2{font-size:28px}.tt-complete button{margin:10px}.tt-reading{display:flex;flex-direction:column;gap:16px;margin:25px 0}.tt-sentence{display:flex;flex-direction:column;gap:10px;text-align:left;border:1px solid #e1d7b6;background:#fff5d8;border-radius:14px;padding:20px 24px;color:#384c3e;cursor:pointer}.tt-sentence strong{font-size:clamp(19px,2.3vw,29px);font-weight:600;line-height:1.9}.tt-sentence small{font-size:15px;color:#737f6d}.tt-line-py{font-size:16px;color:#ad6f59;letter-spacing:1px}.tt-role-1{background:#eaf4e6;border-color:#cadfbe}.tt-role-2{background:#eaf2fa;border-color:#ccdeec}.tt-role-3{background:#f8ebef;border-color:#e6cbd5}.tt-sentence.is-reading{outline:3px solid #89ab72;outline-offset:2px}.tt-toolbar select{max-width:260px}.tt-scene{height:380px;border:1px solid #c1d7cf;border-radius:24px;position:relative;overflow:hidden;background:linear-gradient(#e1f5ff 60%,#79d7d0 60%,#79d7d0 72%,#fae3aa 72%)}.tt-scenery{font-size:80px;position:absolute;inset:25px 20px auto;display:flex;justify-content:space-between;letter-spacing:60px;white-space:nowrap;opacity:.8;pointer-events:none}.tt-scene>p{position:absolute;left:50%;top:10px;transform:translateX(-50%);max-width:85%;width:max-content;background:#fffdf5df;border-radius:20px;padding:9px 15px;color:#718475;font-size:12px;text-align:center}.tt-scene-park,.tt-scene-zoo{background:linear-gradient(#ddf2eb 65%,#c4dca4 65%)}.tt-scene-space{background:radial-gradient(ellipse at top,#6c729c,#303d62)}.tt-scene-transport{background:linear-gradient(#e4f1ff 60%,#d0dbc3 60%,#d0dbc3 76%,#aaa9a1 76%,#aaa9a1 92%,#d0dbc3 92%)}.tt-scene-sticker{position:absolute;font-size:66px;line-height:1;transform:translate(-50%,-50%) rotate(-5deg);cursor:grab;touch-action:none;user-select:none;filter:drop-shadow(0 3px 1px #2c463325);transition:filter .15s}.tt-scene-sticker:active{cursor:grabbing;filter:drop-shadow(0 8px 3px #2c463340)}.tt-sticker-tray{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;margin-top:18px}.tt-sticker-tray button{font-size:37px;background:#f8f8ee;border:1px solid #d7e2cc;border-radius:14px;padding:10px 3px;position:relative;cursor:pointer}.tt-sticker-tray button:disabled{opacity:.55;cursor:default}.tt-sticker-tray small{position:absolute;font-size:13px;right:2px;bottom:2px;background:#84b78a;color:white;border-radius:50%;padding:2px 5px}.tt-dialog{width:min(480px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid #d0dcc9;background:#fffdf6;border-radius:24px;padding:30px;color:#344b3a}.tt-dialog::backdrop{background:#23363280;backdrop-filter:blur(4px)}.tt-dialog-close{float:right}.tt-dialog h2{text-align:center;font-size:32px;margin:30px 0;overflow-wrap:anywhere}.tt-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tt-options button{min-height:64px;font-size:21px;overflow-wrap:anywhere}.tt-wrong{background:#f5ded4!important;border-color:#d8957f!important}.tt-saved-list{display:flex;flex-direction:column;gap:12px;margin:20px 0}.tw-char-nav{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap}.tw-char-nav strong{font-size:42px;min-width:55px;text-align:center}.tw-center{justify-content:center}.tw-stroke-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px}.tt-panel{padding:20px;background:#f3f5ea;border:1px solid #d4dfc9;border-radius:18px;align-self:start}.tw-demo-panel{text-align:center}.tw-board{position:relative;display:grid;place-items:center;margin:15px auto;border:1px solid #decfc5;border-radius:12px;width:min(300px,100%);aspect-ratio:1;background:#fffdf8;touch-action:none;overflow:hidden}.tw-grid{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke:#e8c4bf;stroke-width:1}.tw-grid path:not(:first-child){stroke-dasharray:5 5}.tw-board>div{position:relative;z-index:1;width:100%;height:100%;display:grid;place-items:center}.tw-board svg:not(.tw-grid){max-width:100%;max-height:100%;touch-action:none}.tw-colors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tw-colors label{font-size:12px;align-items:center}.tw-colors input{width:30px;height:30px;padding:0;border:0;cursor:pointer}.tw-stroke-buttons{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:18px auto;max-width:650px}.tw-stroke-buttons button{padding:6px 11px}.tw-writing-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;text-align:center}.tw-writing-pair>div{min-width:0}#tw-status{min-height:25px;text-align:center;color:#61855d;margin:20px 0;line-height:1.7}.tw-loading{text-align:center;padding:35px;color:#6b8065}.tw-fill-controls{display:flex;flex-direction:column;align-items:center;gap:6px}.tw-fill-controls .tt-chips{justify-content:center}.tw-fill-stats{font-size:17px;margin:5px 0 12px}.tw-fill-stats b{color:#a87841}.tw-fill-title{display:flex;align-items:center;justify-content:center;gap:15px;margin:20px}.tw-fill-title strong{font-size:44px}.tw-fill-boards{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}.tw-fill-boards>div{min-width:0}.tw-reference{width:170px;border:1px solid #e4d7ba;border-radius:16px;overflow:hidden;background:#fff8e6}.tw-reference svg{width:100%;height:auto;display:block}.tw-fill-board{width:300px;max-width:calc(100vw - 100px)}.tw-fill-base,.tw-fill-draw{position:absolute!important;inset:0}.tw-fill-draw{z-index:2!important}.tw-fill-base svg{width:100%;height:100%}.tt-page button:disabled{opacity:.5;cursor:default}.tt-page button{min-height:36px}.tt-source-actions button{min-height:42px}@media(max-width:800px){.tt-source-grid{grid-template-columns:1fr}.tt-source-grid>aside{border-top:1px solid #e3e8dc;padding-top:18px}.tt-prepare-art{display:none}.tw-stroke-layout{grid-template-columns:1fr}.tw-stroke-layout aside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tw-colors{grid-column:1/-1;grid-template-columns:repeat(8,1fr)}.tt-sticker-tray{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:560px){.tt-page{width:calc(100% - 24px)}.tt-heading>div{align-items:flex-start}.tt-heading .tt-inline{gap:5px}.tt-heading button{padding:8px;font-size:12px}.tt-source,.tt-stage{padding:16px;border-radius:18px}.tt-fields{grid-template-columns:1fr 1fr}.tt-fields>label:last-child{grid-column:1/-1}.tt-source-actions{gap:8px}.tt-source-actions button{font-size:12px;padding:9px 11px}.tt-flash{height:310px}.tt-table th,.tt-table td{padding:10px;font-size:14px}.tt-table td:nth-child(2){font-size:20px}.tt-sentence{padding:15px}.tt-sticker-tray button{font-size:31px}.tt-scene{height:330px}.tt-scenery{font-size:65px;letter-spacing:10px}.tt-scene-sticker{font-size:54px}.tw-writing-pair{grid-template-columns:1fr}.tw-stroke-layout aside{grid-template-columns:1fr 1fr}.tw-colors{grid-template-columns:repeat(6,1fr)}.tw-fill-boards{gap:15px}.tw-reference{width:110px}.tw-fill-title strong{font-size:35px}.tt-flash-controls{gap:8px}}@media(prefers-reduced-motion:reduce){.tt-page *{transition:none!important;animation:none!important}}.no-motion .tt-page *{transition:none!important;animation:none!important}@media print{body.tt-printing>header,body.tt-printing>footer,body.tt-printing .tt-heading,body.tt-printing .tt-source,body.tt-printing .tt-toolbar,body.tt-printing .tt-data-note,body.tt-printing .mg-mini,body.tt-printing .tt-speak{display:none!important}body.tt-printing .tt-page,body.tt-printing .tt-stage{width:100%;max-width:none;margin:0;padding:0;border:0;box-shadow:none}body.tt-printing .tt-table-wrap{overflow:visible}body.tt-printing .tt-table th{background:#eee!important;color:#000}body.tt-printing .tt-table td{break-inside:avoid}}
.tw-board,.tw-fill-board{width:min(var(--tw-size,300px),100%);max-width:100%}

.tw-fill-boards>div:not(.tw-reference){flex:0 1 var(--tw-size,300px);width:var(--tw-size,300px)}.tw-fill-board{width:100%;height:auto}.tw-fill-draw svg{max-width:none}

