:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:#253c45;background:#f3f8fa;font-synthesis:none;--blue:#a4dcf8;--ink:#253c45;--line:#e2ebef;--green:#167653;--muted:#5d707a;--yellow:#f8d77d;letter-spacing:0}
*{box-sizing:border-box}body{margin:0}button,a,input,label,summary{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none;touch-action:manipulation}button:disabled{cursor:default;opacity:.48}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #237eab;outline-offset:4px}button svg,button i{pointer-events:none}svg{width:22px;height:22px;flex:none}h1,h2,h3,p{margin:0}h1{font-size:26px;line-height:1.4;font-weight:750}h2{font-size:19px}h3{font-size:14px}p{line-height:1.7}small{font-size:12px}hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.shell{max-width:760px;margin:auto;min-height:100dvh;background:#fff;box-shadow:0 0 60px #183e5010}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-bottom:1px solid #f2f6f8}.brand{text-decoration:none;font-weight:750;font-size:15px}.brand span{display:block;font-size:9px;color:var(--muted);font-weight:500;margin-top:4px;letter-spacing:0}.icon-button{height:44px;width:44px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex:none}.icon-button:hover{background:#edf6fb}main{outline:none;padding:24px 28px 116px;min-height:calc(100dvh - 76px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.eyebrow{font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px}.coins{display:inline-flex;align-items:center;gap:5px;background:#fff5d9;border-radius:8px;padding:8px 10px;font-size:14px;font-weight:700}.coins svg{color:#806014;width:18px;height:18px}
.scene{width:100%;position:relative;aspect-ratio:3/2;max-height:330px;overflow:hidden}.scene img{width:100%;height:100%;object-fit:cover;display:block}.costume{position:absolute;pointer-events:none}.costume.scarf{left:42%;top:51%;width:17%;height:6%;border-radius:50%;background:#90d9c3;box-shadow:0 2px 0 #56a98a}.costume.scarf:after{content:"";position:absolute;right:4%;top:55%;width:26%;height:290%;background:#90d9c3;border-radius:0 0 5px 5px;transform:rotate(-9deg);border-bottom:3px solid #56a98a}.costume.hat{left:40.5%;top:25%;width:19%;height:13%;border-radius:60% 60% 6% 6%;background:#f6cc60;border-bottom:6px solid #dba336;transform:rotate(-5deg)}.costume.hat:before{content:"";position:absolute;left:43%;top:-24%;width:20%;aspect-ratio:1;border-radius:50%;background:#f6cc60}.costume.glasses{left:39.2%;top:37%;width:22%;height:12%;display:flex;align-items:center;justify-content:center}.costume.glasses svg{width:100%;height:100%;stroke:#314554;stroke-width:1.2}.room-prop{position:absolute;left:77%;top:71%;width:15%;height:18%;display:flex;align-items:center;justify-content:center}.room-prop svg{width:85%;height:85%;stroke-width:1.5}.room-prop.plant{color:#247552;background:#eff9ef;border-radius:50% 50% 8px 8px}.room-prop.star{color:#be8311;background:#fff0b8;border-radius:40%}.scene-room{max-height:380px}
.daily-label{display:flex;justify-content:center;font-size:17px;font-weight:650;padding:20px 0}.daily-label span{display:inline-flex;align-items:center;gap:9px}.daily-label svg{width:18px;height:18px;color:#2f8db5}.home-actions{display:grid;gap:10px}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:13px 18px;border-radius:8px;min-height:46px;font-weight:650;line-height:1.4}.primary{background:var(--blue);color:#183f53;border:1px solid #84c8eb}.primary:hover:not(:disabled){background:#90d2f4}.secondary{background:#f0f4f6;border:1px solid #e5ebee;color:#354b56}.secondary:hover:not(:disabled){background:#e5eef3}.large{width:100%;min-height:57px;font-size:17px}.count{font-size:11px;background:#fff;border-radius:4px;padding:3px 6px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:4px;padding:6px 8px}.text-button svg{width:17px;height:17px}.subtle{color:var(--muted)}.diagnostic-line{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:8px}.today-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.today-strip>div{text-align:center}.today-strip strong{display:block;font-size:19px;overflow-wrap:anywhere}.today-strip span{display:block;font-size:11px;color:var(--muted);margin-top:4px}
#tabs{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,760px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#ffffffee;backdrop-filter:blur(10px);border-top:1px solid var(--line)}#tabs button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-height:52px;border-radius:6px;font-size:11px;color:#5c6e77;position:relative}#tabs button[aria-current]{color:#126a92;background:#edf8ff}#tabs button[aria-current]:after{content:"";position:absolute;bottom:0;height:3px;width:36px;background:#54b1dc;border-radius:2px}
.lesson-top{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:650;gap:8px}.fraction{font-size:12px;color:var(--muted);white-space:nowrap}progress{display:block;width:100%;height:5px;appearance:none;border:0;margin:12px 0 20px;border-radius:4px;overflow:hidden}progress::-webkit-progress-bar{background:#edf3f6}progress::-webkit-progress-value{background:#6bbfe4}progress::-moz-progress-bar{background:#6bbfe4}.steps{display:flex;gap:7px;justify-content:center;font-size:11px;color:var(--muted);margin-bottom:20px}.steps span{padding:5px 14px;background:#f1f5f7;border-radius:5px}.steps .current{color:#146a92;background:#e1f3fd}.pill{display:inline-flex;background:#eef6fa;color:#4b6674;border-radius:4px;font-size:11px;padding:4px 8px}.word-heading{display:grid;grid-template-columns:1fr auto;align-items:center;row-gap:18px;margin:32px 0}.word-heading .pill{justify-self:start;grid-column:1/-1}.word-heading h1{font-size:32px;line-height:1.3;overflow-wrap:anywhere}.context-line{position:relative;margin-bottom:28px}.english-text{font-size:21px;line-height:1.8;margin-top:12px;padding-right:36px}.context-line .icon-button{position:absolute;right:0;top:36px}.answer-group{border:0;margin:0;padding:0;min-width:0}.answer-group legend{font-size:14px;font-weight:650;margin-bottom:14px}.choices{display:grid;gap:9px}.choice{display:flex;align-items:center;gap:12px;border:1px solid #dce7ed;border-radius:8px;padding:15px 14px;min-height:58px;text-align:left;background:#fff;font-size:15px;line-height:1.5;width:100%}.choice:hover:not(:disabled){border-color:#7bbde0;background:#f3faff}.choice span:nth-child(2){flex:1;overflow-wrap:anywhere}.option-number{font-size:12px;color:#607784;background:#f0f5f8;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;flex:none}.answer-group:disabled .choice{opacity:1;color:#536874}.choice.right{border-color:#62b69b;background:#eef9f3!important;color:#15533f!important}.choice.wrong{border-color:#d2a36b;background:#fff7ed;color:#704611!important}.answer-tools{display:flex;align-items:center;justify-content:space-between;padding-top:18px;gap:10px}.hesitant-toggle{display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px}input[type=checkbox]{accent-color:#2685b0;width:20px;height:20px;flex:none}.feedback{margin-top:18px;border-top:2px solid #7cbfa5;padding:16px 0;font-size:14px}.feedback.neutral{border-color:#deb168}.feedback>strong{display:flex;align-items:center;gap:8px;font-size:16px;margin-bottom:8px}.feedback p{margin-top:8px}.feedback .example{font-size:17px}.translation{color:#57707c;font-size:13px}.review-badge{display:inline-block;background:#fff2cf;color:#705319;font-size:11px;padding:5px 8px;border-radius:4px;margin-top:12px}.next{margin-top:8px}.reading-heading{display:flex;align-items:center;gap:10px;margin-bottom:15px}.reading-heading h1{font-size:21px;flex:1}.passage{font-size:18px;line-height:1.9;background:#f4f9fc;border-left:3px solid #a4d5ec;padding:18px;overflow-wrap:anywhere}.glossary{font-size:11px;color:#5d7380;margin:12px 0 22px}details{font-size:13px;margin-top:12px}summary{cursor:pointer;min-height:36px;line-height:36px}
.result{text-align:center}.result-symbol{display:flex;margin:4px auto 16px;width:54px;height:54px;background:#fff1bf;color:#8b671b;align-items:center;justify-content:center;border-radius:50%}.result-symbol svg{width:29px;height:29px}.result h1{font-size:24px;margin:8px 0 18px}.result .scene{max-height:235px}.reward{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:20px;color:#715613}.reward strong{font-size:30px}.reward span{font-size:13px}.result .primary{margin-top:22px}.weakness-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0;border-bottom:1px solid var(--line);padding-bottom:20px}.weakness-list>div{display:flex;justify-content:space-between;align-items:center;font-size:13px}.weakness-list strong{font-size:18px}.weakness-list small{display:block;font-weight:400;color:var(--muted);font-size:10px;margin-top:4px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;margin:28px 0 16px;gap:8px}.section-heading span{font-size:11px;color:var(--muted)}.shop{display:grid;gap:10px}.shop-item{display:flex;align-items:center;gap:12px;padding:14px 10px;border:1px solid var(--line);border-radius:8px}.item-art{width:50px;height:50px;display:flex;align-items:center;justify-content:center;flex:none;border-radius:8px;background:#edf7fc;color:#3983a5}.item-art.scarf{background:#e0f5ed;color:#27725e}.item-art.hat,.item-art.star{background:#fff4d3;color:#816318}.item-art.plant{background:#e8f6e5;color:#3c7b43}.item-art svg{width:27px;height:27px}.item-copy{flex:1;min-width:0}.item-copy h3{font-size:13px;overflow-wrap:anywhere;line-height:1.5}.item-copy span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.small{font-size:12px;padding:8px 10px;min-height:40px;white-space:nowrap}.shop-item.equipped{border-color:#79c8e7;background:#f7fcff}.record-overview{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.record-overview span{font-size:13px}.record-overview strong{display:block;font-size:36px;margin-top:8px}.record-overview small{font-size:13px;color:var(--muted);font-weight:400}.overview-icon svg{width:45px;height:45px;color:#348db6}.day-records{margin-top:20px}.day-records article{padding:20px 0;border-bottom:1px solid var(--line)}.day-title{display:flex;justify-content:space-between;font-size:13px;gap:8px}.day-title span{font-size:11px;color:var(--muted)}.record-numbers{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#5c727d;margin-top:15px;flex-wrap:wrap}.record-numbers span{display:inline-flex;align-items:center;gap:5px}.record-numbers strong{font-weight:650;color:var(--ink)}.record-numbers svg{width:14px;height:14px}.empty{text-align:center;margin-top:44px}.empty>svg{height:38px;width:38px;color:#7dabbd}.empty p{font-size:14px;margin:15px 0 24px}
dialog{border:1px solid var(--line);border-radius:8px;padding:24px;width:min(440px,calc(100% - 32px));color:var(--ink);box-shadow:0 20px 60px #183e5030}dialog::backdrop{background:#203b4a55}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.setting-row{display:flex;align-items:center;justify-content:space-between;min-height:46px;font-size:14px}dialog .secondary{display:flex;width:100%;margin-top:10px;font-size:14px}.file-label{cursor:pointer}.file-label input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.file-label:focus-within{outline:3px solid #237eab}.danger{color:#973e3e;margin-top:16px}.settings-note{font-size:11px;color:var(--muted);margin-top:14px}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:12px;margin-top:20px}#confirm-copy{font-size:14px;margin-top:12px}#toast{position:fixed;z-index:100;bottom:110px;left:50%;transform:translate(-50%,12px);background:#254955;color:#fff;border-radius:8px;padding:12px 16px;max-width:calc(100% - 32px);width:max-content;font-size:13px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}#toast.show{opacity:1;transform:translate(-50%,0)}.error-banner{background:#fff1e7;color:#773d23;padding:12px;font-size:13px;margin-top:15px}
@media(min-width:650px){.shell{margin:24px auto;min-height:calc(100dvh - 48px);border:1px solid var(--line);border-radius:8px}.topbar{padding:14px 40px}main{padding:28px 50px 128px}.home{max-width:520px;margin:auto}.scene{max-height:347px}.home-actions{grid-template-columns:1fr 1fr}.diagnostic-line{margin-top:16px}.lesson{max-width:560px;margin:auto}.room{max-width:570px;margin:auto}.shop{grid-template-columns:1fr 1fr}.shop-item{flex-wrap:wrap}.shop-item .item-copy{min-width:130px}.shop-item .small{width:100%}.result{max-width:520px;margin:auto}.records{max-width:580px;margin:auto}}
@media(max-width:359px){.topbar{height:66px;padding:10px 16px}main{padding:20px 16px 106px}h1{font-size:23px}.word-heading h1{font-size:28px}.large{font-size:16px}.diagnostic-line{gap:0}.diagnostic-line .text-button{font-size:12px;padding:5px 2px}.today-strip strong{font-size:16px}.section-heading h2{font-size:17px}.section-heading span{font-size:10px}.shop-item{gap:9px}.item-art{width:40px;height:44px}.item-copy h3{font-size:12px}.small{padding:8px}.reading-heading{gap:6px}.reading-heading h1{font-size:19px}.passage{padding:13px;font-size:17px}.weakness-list{gap:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.recall-answer .revealed-example{display:flex;align-items:center;gap:8px;font-size:17px;color:var(--ink);overflow-wrap:anywhere}.revealed-example .icon-button{margin-left:auto}
.mode-selector.mode-three{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-three button{font-size:12px;gap:5px}.mode-three svg{width:16px;height:16px}.short-course{width:100%;margin-top:12px}.daily-course-note{font-size:12px;color:var(--muted);margin-top:12px;text-align:center}.next-due{margin-top:12px;font-size:13px;color:var(--muted)}.practice-words{margin:16px 0 28px}.practice-words article{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.practice-words article>div{min-width:0;overflow-wrap:anywhere}.practice-words p{font-size:11px;color:var(--muted);margin-top:4px}.practice-words article>span{flex:none;font-size:11px;color:var(--muted)}
.mode-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;background:#eff4f5;border:1px solid #dbe7eb;border-radius:6px;padding:4px;margin:12px 0 16px}.mode-selector button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:14px;border-radius:4px}.mode-selector button[aria-pressed=true]{background:#fff;color:#116b69;box-shadow:0 1px 3px #243d451a}.mode-selector svg{width:18px;height:18px}.recall-body{padding:0 0 8px}.recall-prompt{font-size:17px;font-weight:650;margin:16px 0 24px}.recall-actions{display:grid;gap:12px;margin-top:28px}.recall-hint{padding:16px 0;margin:8px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.recall-hint p{font-size:18px;line-height:1.7;overflow-wrap:anywhere;display:flex;align-items:center;gap:8px}.recall-hint .icon-button{margin-left:auto}.recall-answer{border-left:3px solid #55a699;padding:16px;background:#f3faf6;margin:12px 0 20px;overflow-wrap:anywhere}.recall-answer strong{display:block;font-size:22px;line-height:1.5}.recall-answer p{font-size:13px;margin-top:12px;color:var(--muted)}.self-judgment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.self-judgment button{font-size:14px;padding:12px 8px;min-height:56px;flex-wrap:wrap}.self-judgment svg{width:18px;height:18px}.recall-feedback{margin:12px 0 20px;font-size:14px}.recall-feedback>strong{display:flex;align-items:center;gap:8px}.recall-feedback p{margin-top:8px}.recall-summary{font-size:13px;color:var(--muted);margin-top:16px}
.book-page{max-width:580px;margin:auto}.book-page h2{font-size:18px;line-height:1.6;margin:24px 0 12px}.book-form{display:grid;gap:14px;margin:20px 0}.book-form label,.audio-setting{display:grid;gap:7px;font-size:13px;min-width:0}.book-form input,.book-form select,.audio-setting select{width:100%;min-width:0;font:inherit;font-size:16px;min-height:44px;border:1px solid #c9dce4;border-radius:6px;padding:9px;background:#fff;color:var(--ink)}.number-fields,.book-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.book-actions{margin:20px 0}.book-actions button{font-size:13px;padding:12px 8px}.book-status{font-size:14px;line-height:1.8}.empty-book{font-size:14px;padding:14px 0;border-bottom:1px solid var(--line)}.book-words article{display:flex;align-items:center;gap:6px;padding:12px 0;border-bottom:1px solid var(--line)}.book-words article>div{flex:1;min-width:0;overflow-wrap:anywhere}.book-words p{font-size:13px}.word-number{font-size:12px;width:32px;flex:none;color:var(--muted)}.official-links{display:grid;gap:12px}.official-links a{display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px}.book-page details p{margin:10px 0;overflow-wrap:anywhere}.book-page .file-label{font-size:14px}.audio-setting{margin-top:14px}.audio-setting input[type=range]{width:100%;min-height:44px}.feedback .example{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.feedback .example .icon-button{margin-left:auto}dialog{max-height:calc(100dvh - 32px);overflow:auto}select:focus-visible,input[type=range]:focus-visible{outline:3px solid #237eab;outline-offset:2px}
/* Local recordings are separate from lesson and speech state. */
.local-audio-launch { margin-bottom: 20px; }
#local-audio-dialog { width: min(480px, calc(100% - 24px)); box-sizing: border-box; }
#local-audio-dialog audio { display: block; width: 100%; min-width: 0; height: 54px; margin: 16px 0; }
#local-audio-dialog select { min-width: 0; max-width: 100%; }
#local-audio-dialog .audio-setting { display: grid; gap: 8px; }
.audio-edition-note { padding: 10px 0; border-block: 1px solid #d5e1e6; color: #765015; font-size: 13px; line-height: 1.6; }
.local-audio-controls { display: grid; grid-template-columns: 44px 44px 44px minmax(0, 1fr); align-items: end; gap: 6px; }
.local-audio-controls label { display: grid; gap: 4px; font-size: 13px; min-width: 0; }
.local-audio-controls select { width: 100%; min-height: 44px; font: inherit; font-size: 16px; border: 1px solid #c9dce4; border-radius: 6px; background: #fff; color: var(--ink); }
#local-audio-status { font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; min-height: 42px; }
[hidden] { display: none !important; }
.trial-source { margin: 0; padding: 10px 24px; background: #eef6ee; color: #31503a; border-bottom: 1px solid #cfdfcf; }
.mode-selector button { min-width: 0; padding: 8px; gap: 6px; }
.mode-selector button span { overflow-wrap: anywhere; }
.mode-selector svg { flex-shrink: 0; }
.self-judgment { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.self-judgment button { min-width: 0; gap: 5px; overflow-wrap: anywhere; }
@media(max-width: 420px) {
  .mode-selector button { font-size: 13px; }
  .self-judgment button { flex-direction: column; font-size: 13px; }
}
@media(max-width: 360px) {
  .mode-selector button { font-size: 12px; gap: 4px; padding: 6px; }
}
.pending-note { margin-top: 12px; font-size: 13px; color: var(--muted); }
.paused-sessions { margin-top: 24px; }
.paused-sessions h2 { font-size: 16px; margin-bottom: 8px; }
.paused-sessions article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.paused-sessions p { min-width: 0; overflow-wrap: anywhere; font-size: 13px; }
.paused-sessions button { flex-shrink: 0; padding: 10px; font-size: 13px; }
.trial-source { padding: 6px 24px; font-size: 11px; background: #fff; color: var(--muted); border-bottom: 1px solid var(--line); }
.costume.bowtie { left: 45%; top: 52%; width: 10%; height: 8%; background: #d85167; clip-path: polygon(0 5%, 45% 30%, 55% 30%, 100% 5%, 100% 95%, 55% 70%, 45% 70%, 0 95%); }
.costume.bowtie::after { content: ''; position: absolute; left: 44%; top: 27%; width: 12%; height: 46%; background: #b43950; }
.costume.raincoat { left: 41%; top: 53%; width: 19%; height: 26%; background: #7fc9e7; border: 2px solid #408da8; border-radius: 12% 12% 20% 20%; clip-path: polygon(18% 0, 40% 12%, 60% 12%, 82% 0, 100% 100%, 0 100%); }
.costume.raincoat::after { content: ''; position: absolute; left: 50%; top: 14%; height: 84%; border-left: 2px solid #397b96; }
.costume.raincoat::before { content: ''; position: absolute; left: 12%; top: 50%; width: 28%; height: 20%; border: 1px solid #408da8; border-radius: 0 0 4px 4px; }
.accessory { position: absolute; pointer-events: none; }
.accessory.badge { left: 53%; top: 63%; width: 5%; height: 8%; color: #d45e83; }
.accessory.badge svg { width: 100%; height: 100%; fill: #fff1b5; stroke-width: 2; }
.accessory.headphones { left: 39%; top: 29%; width: 23%; height: 23%; border: 4px solid #ce6e91; border-bottom: 0; border-radius: 50% 50% 0 0; }
.accessory.headphones::before,.accessory.headphones::after { content: ''; position: absolute; top: 47%; width: 17%; height: 45%; background: #d8789c; border: 2px solid #9e4668; border-radius: 5px; }
.accessory.headphones::before { left: -9%; }.accessory.headphones::after { right: -9%; }
.accessory.crown { left: 43%; top: 24%; width: 15%; height: 13%; background: #efc853; clip-path: polygon(0 8%, 24% 35%, 50% 0, 76% 35%, 100% 8%, 90% 100%, 10% 100%); }
.accessory.crown::after { content: ''; position: absolute; bottom: 9%; left: 12%; width: 76%; border-top: 3px solid #c68b2c; }
.room-prop.books { left: 13%; top: 64%; width: 14%; height: 18%; border-bottom: 4px solid #8a6b4f; border-radius: 0; }
.room-prop.books::before { content: ''; position: absolute; bottom: 3%; width: 84%; height: 22%; background: #569cb8; border: 2px solid #34758a; border-radius: 3px; box-shadow: 0 -9px 0 -1px #efc35d, 2px -18px 0 -1px #d66a80; }
.room-prop.clock { left: 79%; top: 18%; width: 11%; height: 17%; color: #326276; background: #fff; border-radius: 50%; box-shadow: 0 2px 4px #253c4530; }
.room-prop.clock svg { width: 100%; height: 100%; stroke-width: 1.7; }
.room-prop.lamp { left: 78%; top: 40%; width: 13%; height: 38%; color: #b47735; }
.room-prop.lamp svg { width: 100%; height: 100%; stroke-width: 1.8; fill: #fff7df; }
.room-prop.bunting { left: 17%; top: 10%; width: 66%; height: 15%; display: flex; align-items: flex-start; justify-content: space-around; border-top: 2px solid #637981; }
.room-prop.bunting span { width: 12%; height: 75%; clip-path: polygon(0 0, 100% 0, 50% 100%); background: #e38494; }
.room-prop.bunting span:nth-child(2),.room-prop.bunting span:nth-child(5) { background: #83c9d3; }
.room-prop.bunting span:nth-child(3),.room-prop.bunting span:nth-child(6) { background: #edcb65; }
.room-prop.bunting span:nth-child(4) { background: #87b994; }
.item-art { width: 68px; height: 68px; background: #edf7fc; overflow: hidden; }
.item-art .costume,.item-art .accessory,.item-art .room-prop { position: relative; left: auto; top: auto; width: 64%; height: 64%; }
.item-art .costume.scarf { height: 15%; }
.item-art .costume.hat { height: 40%; }
.item-art .costume.bowtie { height: 40%; }
.item-art .accessory.headphones { height: 57%; width: 57%; }
.item-art .room-prop.books { height: 58%; }
.item-art .room-prop.bunting { width: 90%; height: 42%; }
.item-art svg { width: 100%; height: 100%; }
.source-details { margin-top: 28px; }
@media(max-width: 359px) { .item-art { width: 58px; height: 58px; } }
.optional-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.optional-actions button {font-size:12px;min-height:44px;padding:8px;white-space:normal}
.item-goal {padding:12px 0;border-bottom:1px solid #d8e5e8;margin-bottom:12px}
.item-goal label {display:grid;gap:6px;font-size:13px}
.item-goal select {width:100%;min-width:0}
.learning-stats p,.v4-result p {font-size:13px;line-height:1.6}
.v4-result .secondary {margin:8px 4px}
.retry-label {font-size:12px;color:#965700}
.pause-boundary {padding:12px 0}
