@font-face{font-family:title1;src:local('HiraginoSans-W9')}@font-face{font-family:title2;src:local('YuMincho-Demibold')}@font-face{font-family:title3;src:local('Klee-Medium')}@font-face{font-family:title4;src:local('Hiragino Maru Gothic ProN')}@font-face{font-family:title5;src:local('TsukushiAMaruGothic-Regular')}@font-face{font-family:title6;src:local('HannotateSC-W5')}@font-face{font-family:title7;src:local('YuKyokashoYoko-Medium')}@font-face{font-family:title8;src:local('HiraginoMinchoProN-W6')}
:root{--ink:#292339;--paper:#fffdf3;--purple:#ac95de;--yellow:#ffdb67;--pink:#ffb9da;--orange:#ff8152;--green:#c8ed7e}*{box-sizing:border-box}body{margin:0;color:var(--ink);background-color:#f9f5e9;background-image:radial-gradient(#d8d2c6 1px,transparent 1px);background-size:18px 18px;font-family:-apple-system,BlinkMacSystemFont,'Hiragino Maru Gothic ProN','Yu Gothic',sans-serif;font-size:14px}button,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #7351c3;outline-offset:5px}.topbar{display:flex;justify-content:space-between;align-items:center;max-width:1180px;margin:auto;padding:23px 30px;font-size:11px;letter-spacing:.04em}.mini-brand{font-weight:750}.edition{padding:5px 10px;background:var(--paper);border:1.5px solid var(--ink);border-radius:99px;transform:rotate(3deg)}main{max-width:1040px;margin:auto;padding:0 24px}.intro{text-align:center;padding:27px 0 28px}.kicker{display:inline-block;border:1.5px solid var(--ink);border-radius:100%;background:var(--yellow);padding:8px 27px;font-size:12px;font-weight:700;transform:rotate(-2deg);margin:0 0 27px;box-shadow:2px 3px 0 var(--ink)}h1{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;padding:0 0 14px;line-height:1.1}.letter{display:inline-flex;align-items:center;justify-content:center;font-size:clamp(34px,6.9vw,76px);width:1.03em;height:1.14em}.l1{font-family:title1,'Hiragino Sans',sans-serif;transform:rotate(-9deg);background:var(--purple);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:7px;color:var(--paper)}.l2{font-family:title2,'Yu Mincho',serif;transform:rotate(8deg);font-weight:600}.l3{font-family:title3,Klee,serif;transform:rotate(-5deg);color:#cf542d;border-bottom:5px solid var(--orange)}.l4{font-family:title4,'Hiragino Maru Gothic ProN',sans-serif;font-weight:700;background:var(--green);border:2px solid var(--ink);border-radius:50%;transform:rotate(9deg)}.l5{font-family:title5,'Tsukushi A Round Gothic',sans-serif;font-size:clamp(30px,5vw,56px);transform:rotate(-12deg);width:.9em}.l6{font-family:title6,'Hannotate SC',cursive;transform:rotate(-6deg);background:var(--pink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.l7{font-family:title7,'YuKyokasho',serif;transform:rotate(7deg);color:#7552b9}.l8{font-family:title8,'Hiragino Mincho ProN',serif;transform:rotate(-6deg);background:var(--yellow);border:2px solid var(--ink);border-radius:8px;box-shadow:3px 3px 0 var(--ink)}.subtitle{font-size:12px;line-height:1.8;margin:14px 0 0}.subtitle strong{background:linear-gradient(transparent 55%,var(--pink) 55%);font-weight:700}.contraption{position:relative;max-width:880px;margin:7px auto 0;padding:0 100px}.plumbing{position:absolute;top:0;left:0;width:100%;height:auto;pointer-events:none}.float-note{position:absolute;z-index:2;font-family:Klee,'Hiragino Maru Gothic ProN',sans-serif;font-weight:700;font-size:15px;line-height:1.5}.note-left{left:3px;top:27px;transform:rotate(-10deg)}.note-left span{display:block;font-size:38px;margin-left:32px;line-height:1}.note-right{right:2px;top:20px;border:2px solid var(--ink);border-radius:50%;padding:16px 9px;background:var(--green);transform:rotate(12deg);font-size:12px}.machine-body{position:relative;z-index:1;background:var(--purple);border:3px solid var(--ink);border-radius:27px 27px 32px 32px;box-shadow:7px 8px 0 var(--ink),inset 0 -12px 0 #8870bd;padding:20px 30px 26px}.machine-top{display:flex;justify-content:space-between;align-items:center;margin:0 1px 15px}.serial{font:10px monospace;letter-spacing:.12em}.power{font-size:10px;font-weight:700;display:flex;align-items:center;gap:5px}.power i{width:9px;height:9px;border-radius:50%;background:var(--yellow);border:1.5px solid var(--ink)}.power i.ready{background:var(--green)}.bolt{position:absolute;font:bold 15px monospace;border:1.5px solid var(--ink);background:#d8c9f2;border-radius:50%;height:18px;width:18px;display:grid;place-items:center;color:#625373}.b1{top:12px;left:9px}.b2{top:12px;right:9px}.b3{bottom:14px;left:12px}.b4{bottom:14px;right:12px}.input-window{position:relative;background:var(--paper);border:2.5px solid var(--ink);border-radius:10px;box-shadow:4px 5px 0 #6f589e;overflow:hidden;transform:rotate(-.7deg)}.window-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--yellow);border-bottom:2px solid var(--ink);gap:8px}.window-bar label{font-size:12px;font-weight:800}.window-dots{display:flex;gap:4px}.window-dots i{width:7px;height:7px;background:var(--paper);border:1.3px solid var(--ink);border-radius:50%}.window-dots i:first-child{background:var(--orange)}.clear{border:0;background:none;font-size:10px;font-weight:600;padding:4px}.clear:hover{text-decoration:underline}textarea{display:block;resize:vertical;min-height:145px;max-height:380px;padding:20px 21px 10px;width:100%;background:transparent;border:0;font-size:17px;line-height:1.9;outline:none}textarea:focus{box-shadow:inset 0 0 0 3px #cab7ed}textarea::placeholder{color:#96909b;font-size:14px}.input-meta{display:flex;justify-content:space-between;padding:8px 18px 12px;font-size:10px;color:#807488}.control-deck{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0 15px}.dial{text-align:center;width:73px;flex:none}.dial-face{position:relative;height:61px;width:73px;border:2px solid var(--ink);border-radius:50%;background:var(--paper);box-shadow:2px 3px 0 #6f589e;overflow:hidden}.dial-face:before{content:'';position:absolute;inset:7px 8px 13px;border-radius:50%;border:5px solid var(--green);border-top-color:var(--orange);border-right-color:var(--yellow);transform:rotate(-20deg)}.dial-face i{position:absolute;left:34px;bottom:20px;background:var(--ink);width:3px;height:21px;transform-origin:bottom;transform:rotate(36deg)}.dial-face span{position:absolute;bottom:5px;left:0;right:0;font-size:8px;font-weight:700}.dial-label{display:block;margin-top:6px;font-size:8px;font-weight:650}.start-control{flex:1;min-width:0;text-align:center}#convert{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:57px;background:var(--orange);border:2.5px solid var(--ink);border-radius:11px;box-shadow:0 6px 0 var(--ink);font-size:18px;font-weight:850;letter-spacing:.04em;transition:transform .1s,box-shadow .1s}#convert:hover:not(:disabled){background:#ff996b;transform:translateY(-2px);box-shadow:0 8px 0 var(--ink)}#convert:active:not(:disabled){transform:translateY(5px);box-shadow:0 1px 0 var(--ink)}#convert:disabled{background:#c7b7dc;color:#655575;box-shadow:0 4px 0 #665375}.button-arrow{font-size:26px}.key-hint{display:block;font-size:8px;margin-top:12px;color:#544565}.vents{width:70px;text-align:center;flex:none}.gear{font-size:42px;line-height:1}.vents span{font-size:8px;font-weight:700;display:block;margin-bottom:6px}.vents>i{display:block;background:var(--ink);border-radius:8px;height:3px;margin:3px 9px}.ticker{background:var(--ink);color:#d9f9a5;border:2px solid #76618f;border-radius:5px;display:flex;align-items:center;gap:8px;padding:7px 10px;min-height:36px}.ticker p{margin:0;font-size:10px;line-height:1.6;flex:1}.ticker-led{background:#c8ed7e;width:6px;height:6px;flex:none;border-radius:50%;box-shadow:0 0 6px #c8ed7e80}.outlet-label{display:flex;align-items:center;justify-content:space-between;margin:18px 2px 8px;font-size:8px}.outlet-label>b{font-size:10px}.slot{height:23px;background:#17111f;border:3px solid var(--ink);border-radius:7px;box-shadow:0 3px 0 #d3bdf1,inset 0 4px 0 #000}.paper-wrapper{position:relative;z-index:2;margin:-37px 29px 0;padding-top:0;filter:drop-shadow(3px 7px 0 #29233917)}.receipt{position:relative;background:var(--paper);border:2px solid var(--ink);border-top:0;padding:22px 22px 26px;min-height:226px;transform:rotate(.7deg);clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),98% 100%,96% calc(100% - 9px),94% 100%,92% calc(100% - 9px),90% 100%,88% calc(100% - 9px),86% 100%,84% calc(100% - 9px),82% 100%,80% calc(100% - 9px),78% 100%,76% calc(100% - 9px),74% 100%,72% calc(100% - 9px),70% 100%,68% calc(100% - 9px),66% 100%,64% calc(100% - 9px),62% 100%,60% calc(100% - 9px),58% 100%,56% calc(100% - 9px),54% 100%,52% calc(100% - 9px),50% 100%,48% calc(100% - 9px),46% 100%,44% calc(100% - 9px),42% 100%,40% calc(100% - 9px),38% 100%,36% calc(100% - 9px),34% 100%,32% calc(100% - 9px),30% 100%,28% calc(100% - 9px),26% 100%,24% calc(100% - 9px),22% 100%,20% calc(100% - 9px),18% 100%,16% calc(100% - 9px),14% 100%,12% calc(100% - 9px),10% 100%,8% calc(100% - 9px),6% 100%,4% calc(100% - 9px),2% 100%,0 calc(100% - 9px))}.receipt-top{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:9px;color:#807585;border-bottom:1.5px dashed #c3b9c5;padding-bottom:12px}#result-tag{background:var(--green);padding:4px 6px;border:1px solid var(--ink);border-radius:3px;color:var(--ink);font-size:8px;white-space:nowrap}.output{white-space:pre-wrap;overflow-wrap:anywhere;font-size:19px;font-weight:650;line-height:1.95;padding:19px 0 26px;min-height:112px;position:relative;z-index:1}.output.empty{font-size:17px;color:#a298a2;font-weight:500;letter-spacing:.05em}.output mark{background:linear-gradient(transparent 56%,#ffdc68 56%);color:inherit}.output.hide-highlights mark{background:none}.receipt-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}.toggle{font-size:9px;display:flex;align-items:center;gap:5px;color:#6b5c74;cursor:pointer}.toggle input{accent-color:#8260bd;width:12px;height:12px;margin:0}#copy{border:1.5px solid var(--ink);border-radius:5px;background:var(--pink);font-size:10px;font-weight:700;padding:8px 10px;box-shadow:2px 2px 0 var(--ink);white-space:nowrap}#copy:disabled{opacity:.5;box-shadow:none}#copy:hover:not(:disabled){background:#ffcde5}.paper-stamp{position:absolute;right:17px;bottom:65px;font-family:serif;font-size:19px;line-height:1.15;color:#df6544;border:3px double #df6544;border-radius:50%;width:60px;height:60px;display:grid;place-content:center;transform:rotate(-17deg);opacity:.11;pointer-events:none}.below-machine{max-width:580px;margin:28px auto 0}details{border:1.5px dashed #b9abba;border-radius:9px;background:#ffffff50}summary{cursor:pointer;padding:13px 16px;font-size:11px;font-weight:700;list-style:none;display:flex;align-items:center;gap:8px}summary::-webkit-details-marker{display:none}summary>span:last-child{margin-left:auto;font-size:17px}details[open] summary>span:last-child{transform:rotate(45deg)}#change-count{font-size:9px;font-weight:400;color:#7f6f8c}.changes{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 15px;font-size:11px}.change{padding:8px 10px;border:1px solid #cbbad9;border-radius:4px;background:var(--paper);line-height:1.7}.arrow{color:#b272c6;padding:0 5px}.fine-print{text-align:center;font-size:10px;color:#8b7e8e;line-height:1.9;margin:20px 0 13px}.privacy{display:flex;justify-content:center;gap:18px;font-size:9px;color:#6d5d78}footer{max-width:1100px;margin:35px auto 0;display:flex;justify-content:space-between;gap:15px;padding:20px 30px;font-size:8px;color:#968599;letter-spacing:.04em}footer a{color:inherit}.working .gear{animation:spin .7s linear infinite}.working .dial-face i{animation:needle .18s ease-in-out infinite alternate}.working .machine-body{animation:rattle .15s linear infinite}.working .ticker-led{animation:blink .2s steps(2,end) infinite}.receipt.printing{animation:print .6s ease-out}.machine-body,.receipt{will-change:auto}@keyframes spin{to{transform:rotate(360deg)}}@keyframes needle{from{transform:rotate(-40deg)}to{transform:rotate(65deg)}}@keyframes rattle{25%{transform:translateX(1px)}75%{transform:translateX(-1px)}}@keyframes blink{to{opacity:.2}}@keyframes print{from{transform:translateY(-24px) rotate(.7deg);opacity:.25}to{transform:translateY(0) rotate(.7deg);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:1000px){.intro{padding-top:32px}.contraption{margin-top:14px}}@media(max-width:750px){.contraption{padding:0 54px}.float-note{display:none}.plumbing{top:30px}.machine-body{padding:19px 24px 26px}.control-deck{gap:12px}.dial{width:61px}.dial-face{width:61px;height:55px}.dial-face i{left:28px}.vents{width:48px}.vents span{font-size:7px}#convert{font-size:16px}.paper-wrapper{margin-left:23px;margin-right:23px}.output{font-size:17px}.intro{padding-top:20px}.subtitle{font-size:11px}}
@media(max-width:520px){.topbar{padding:16px 17px;font-size:9px}.edition{font-size:9px}main{padding:0 10px}.intro{padding:15px 0 24px}.kicker{font-size:10px;padding:7px 18px;margin-bottom:23px}h1{gap:4px}.letter{font-size:clamp(26px,8.9vw,46px)}.l5{font-size:7vw}.subtitle{font-size:10px;max-width:300px;margin:12px auto 0}.contraption{padding:0 17px}.machine-body{padding:17px 18px 25px;border-radius:22px;box-shadow:4px 5px 0 var(--ink)}.machine-top{margin-bottom:12px}.serial{font-size:8px}.power{font-size:8px}.bolt{width:13px;height:13px;font-size:11px}.b1,.b2{top:8px}.b1{left:7px}.b2{right:7px}.input-window{border-radius:8px}.window-bar{padding:7px 9px}.window-bar label{font-size:10px}.window-dots{gap:3px}.window-dots i{width:5px;height:5px}.clear{font-size:9px}textarea{padding:14px 12px 8px;font-size:16px;min-height:138px}textarea::placeholder{font-size:12px}.input-meta{padding:7px 12px 9px;font-size:8px}.control-deck{gap:10px;padding:18px 0 12px}.dial{width:48px}.dial-face{width:48px;height:45px}.dial-face:before{inset:5px 6px 12px;border-width:4px}.dial-face i{left:21px;bottom:17px;height:16px}.dial-face span{font-size:6px;bottom:4px}.dial-label{font-size:6px}.vents{display:none}#convert{font-size:15px;min-height:49px;gap:8px}.key-hint{font-size:7px}.button-arrow{font-size:22px}.ticker{padding:6px 7px}.ticker p{font-size:9px}.outlet-label{font-size:6px}.outlet-label>b{font-size:8px}.paper-wrapper{margin-left:17px;margin-right:17px;margin-top:-36px}.receipt{padding:19px 14px 25px}.receipt-top{font-size:8px}.output{font-size:16px;line-height:1.9}.output.empty{font-size:15px}.toggle{font-size:8px}#copy{font-size:9px;padding:7px 8px}.plumbing{display:none}.below-machine{margin:22px 23px 0}.privacy{gap:10px;font-size:8px}.fine-print{font-size:9px}footer{padding:20px 17px;font-size:7px;flex-direction:column;align-items:center;margin-top:20px}}

.promo{display:flex;flex-direction:column;align-items:center;gap:7px;width:fit-content;max-width:100%;margin:22px auto 5px;padding:13px 24px 12px;border:2px solid var(--ink);border-radius:6px;background:var(--pink);box-shadow:3px 4px 0 var(--ink);transform:rotate(-1deg)}.promo-label{font-size:9px;letter-spacing:.08em}.promo strong{font-size:clamp(13px,2.5vw,18px);line-height:1.65}.promo-note{font-size:10px}.promo-break{display:none}@media(max-width:520px){.promo{padding:10px 18px;margin-top:17px}.promo-break{display:block}.promo-label,.promo-note{font-size:9px}}

.support-card{position:relative;max-width:580px;margin:48px auto 0;padding:25px 30px 24px;border:2px solid var(--ink);border-radius:15px;background:var(--paper);box-shadow:5px 6px 0 var(--ink);text-align:center}.support-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px}.support-label{display:inline-block;background:var(--green);border:1.5px solid var(--ink);padding:6px 10px;transform:rotate(-4deg);font-weight:750}.support-stage{color:#6b5c74}.support-card h2{font-size:clamp(24px,4vw,32px);line-height:1.55;letter-spacing:.035em;margin:24px 0 13px}.support-lead{font-size:12px;line-height:1.95;margin:0}.evolution{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:8px;align-items:center;margin:25px 0 19px}.evolution>div{background:#eee6fa;border:1.5px solid var(--ink);border-radius:9px;padding:15px 8px 13px}.evolution>div:last-child{background:#eff8db;border-style:dashed}.evolution-label{display:block;width:fit-content;margin:0 auto 9px;background:var(--purple);border-radius:4px;padding:3px 8px;font-size:9px}.next-label{background:var(--green)}.evolution strong{display:block;font-size:16px}.evolution p{font-size:10px;line-height:1.8;margin:8px 0 0}.evolution-arrow{font-size:24px}.support-purpose{font-size:11px;line-height:1.9;margin:0 0 23px}.support-button{display:block;width:100%;max-width:330px;margin:0 auto;padding:13px 15px;border:2px dashed #776984;border-radius:9px;background:#e9dfea;color:#63556d;font-size:15px;font-weight:750;line-height:1.6}.support-availability{font-size:10px;color:#6b5c74;margin:9px 0 0}.support-note{font-size:10px;line-height:1.85;color:#6b5c74;margin:19px 0 0;padding-top:16px;border-top:1px dashed #c3b9c5}@media(max-width:520px){.support-card{margin:37px 23px 0;padding:20px 16px;box-shadow:3px 4px 0 var(--ink)}.support-top{font-size:9px}.support-card h2{font-size:25px;margin-top:23px}.support-lead{font-size:11px}.evolution{grid-template-columns:1fr;gap:9px;margin-top:20px}.evolution>div{padding:13px 8px}.evolution-arrow{transform:rotate(90deg);font-size:22px;line-height:1}.evolution p br{display:none}.support-purpose br{display:none}.support-button{font-size:14px}.support-note{font-size:9px}}

.flavor-panel{min-width:0;margin:23px 0 0;padding:10px 12px 11px;border:1.5px solid #66517f;border-radius:9px;background:#d3bfed}.flavor-panel legend{padding:0 7px;font-size:10px;font-weight:750;letter-spacing:.08em}.flavor-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.flavor-buttons button{position:relative;min-height:43px;border:2px solid var(--ink);border-radius:7px;background:var(--paper);box-shadow:0 4px 0 #655178;font-size:11px;font-weight:750;padding:6px 3px;transition:transform .1s,box-shadow .1s}.flavor-buttons button span{display:block;font-size:16px;line-height:1.2;margin-bottom:4px}.flavor-buttons button[aria-pressed=true]{background:var(--yellow);transform:translateY(3px);box-shadow:0 1px 0 #655178}.flavor-buttons button[data-flavor=it][aria-pressed=true]{background:var(--green)}.flavor-buttons button[data-flavor=office][aria-pressed=true]{background:var(--pink)}.flavor-buttons button[data-flavor=paper][aria-pressed=true]{background:#b9e4f5}.flavor-buttons button:hover:not([aria-pressed=true]){background:#f4ebff}.flavor-panel p{margin:11px 0 0;font-size:9px;line-height:1.6;text-align:center;color:#544565}.flavor-panel+.control-deck{padding-top:18px}@media(max-width:520px){.flavor-panel{padding:8px 8px 9px;margin-top:18px}.flavor-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.flavor-buttons button{min-height:42px;font-size:11px}.flavor-buttons button span{display:inline-block;font-size:14px;margin:0 4px 0 0}.flavor-panel p{font-size:9px}.flavor-panel+.control-deck{padding-top:17px}}

/* A short mechanical wobble, followed by a quiet, repairable fault state. */
.breakdown-effects{display:none;position:absolute;inset:0;pointer-events:none;z-index:5}
.broken .breakdown-effects{display:block}
.broken .machine-body{background:#b69bb7;transform:rotate(-.7deg);animation:breakdown 1s ease-out both}
.broken .gear{transform:rotate(23deg);color:#715c70}
.broken .dial-face i{transform:rotate(105deg)}
.broken .dial-label{font-size:0}
.broken .dial-label:after{content:'語彙圧ゼロ';font-size:8px;color:#883c49}
.broken .power i.ready,.broken .ticker-led{background:#ff956e;box-shadow:none}
.broken .ticker{color:#ffe3ce;border-color:#dc957f}
.breakdown-sign{position:absolute;top:-22px;right:18px;padding:9px 15px;border:2px solid var(--ink);border-radius:50% 50% 50% 8px;background:var(--paper);font-weight:800;font-size:15px;transform:rotate(9deg);box-shadow:3px 3px 0 var(--ink)}
.smoke{position:absolute;top:3px;right:55px;width:30px;height:30px;background:#e3dbe5;border:2px solid #796a83;border-radius:45% 55% 40% 60%;opacity:0;animation:puff 1.7s ease-out forwards}
.smoke.s2{right:77px;animation-delay:.2s;width:24px;height:24px}
.smoke.s3{right:39px;animation-delay:.4s;width:20px;height:20px}
.fault-receipt{background:#fff0df}
.fault-receipt #result-tag{background:#ffb28f}
.fault-receipt .paper-stamp{display:none}
.fault-code,.fault-title,.fault-help{display:block}
.fault-code{font-family:monospace;font-size:10px;line-height:1.6;letter-spacing:.03em;color:#914536;border-bottom:2px dashed #d8a58c;padding-bottom:10px}
.fault-title{font-size:clamp(18px,3vw,24px);line-height:1.6;margin:14px 0 12px;color:#783629}
.fault-help{font-size:12px;line-height:1.9;font-weight:500;color:#785b55}
@keyframes breakdown{0%,100%{transform:translateX(0) rotate(-.7deg)}12%{transform:translate(-5px,1px) rotate(-1.5deg)}26%{transform:translate(5px,-2px) rotate(1deg)}40%{transform:translate(-4px,1px) rotate(-1deg)}56%{transform:translate(3px,0) rotate(.8deg)}72%{transform:translate(-2px,1px) rotate(-1deg)}86%{transform:translate(1px,0) rotate(0)}}
@keyframes puff{0%{opacity:0;transform:translateY(0) scale(.5)}20%{opacity:.85}100%{opacity:0;transform:translate(12px,-90px) scale(2.3)}}
@media(prefers-reduced-motion:reduce){.broken .smoke{display:none}}
@media(max-width:520px){.breakdown-sign{font-size:12px;top:-19px;right:10px;padding:7px 11px}.fault-code{font-size:9px}.fault-help{font-size:11px}}

/* Decorative cracks never intercept the input or machine controls. */
.cracks{display:none;position:absolute;pointer-events:none;fill:none;stroke:#574056;stroke-width:2.5;stroke-linejoin:miter;stroke-linecap:round;filter:drop-shadow(1px 1px 0 #fff7eb);overflow:hidden}
.broken .cracks{display:block}
.chassis-cracks{inset:0;width:100%;height:100%;border-radius:24px}
.glass-cracks{top:43px;right:0;width:43%;height:calc(100% - 70px);z-index:2;stroke:#716b85;stroke-width:1.8}
.cracks path{vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;animation:crack-open .45s ease-out .12s backwards}
@keyframes crack-open{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(max-width:520px){.glass-cracks{top:34px;height:calc(100% - 57px);width:40%}}

.receipt-bottom{flex-wrap:wrap}.receipt-actions{display:flex;gap:9px;flex-wrap:wrap;margin-left:auto}
#share{border:1.5px solid var(--ink);border-radius:5px;background:var(--green);font-size:10px;font-weight:750;padding:8px 10px;box-shadow:2px 2px 0 var(--ink);white-space:nowrap}
#share:hover:not(:disabled){background:#daf5a5}#share:disabled{opacity:.5;box-shadow:none}
#share-dialog{width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:25px;border:3px solid var(--ink);border-radius:17px;background:var(--paper);color:var(--ink);box-shadow:7px 8px 0 #292339;overflow:auto}
#share-dialog::backdrop{background:#29233999;backdrop-filter:blur(3px)}
.share-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.share-sticker{background:var(--yellow);border:1.5px solid var(--ink);padding:5px 10px;font-size:10px;font-weight:750;transform:rotate(-3deg)}
#share-close{background:none;border:0;font-size:11px;padding:8px}#share-title{font-size:27px;line-height:1.5;margin:22px 0 8px}
#share-description{font-size:12px;line-height:1.8;margin:0 0 20px}#share-dialog label{display:block;font-size:11px;font-weight:750;margin-bottom:8px}
#share-text{border:2px solid var(--ink);border-radius:8px;background:#f4eefb;min-height:170px;max-height:320px;padding:13px;font-size:15px;line-height:1.8}
#share-hint,#share-feedback{font-size:10px;line-height:1.8;color:#6d5d78}#share-feedback{min-height:36px;margin:15px 0 0}
.share-destinations{display:flex;gap:10px;flex-wrap:wrap;margin-top:17px}.share-destinations a,.share-destinations button{display:inline-flex;align-items:center;justify-content:center;padding:11px 14px;border:2px solid var(--ink);border-radius:7px;background:var(--green);color:var(--ink);font-size:12px;font-weight:750;text-decoration:none;box-shadow:2px 3px 0 var(--ink)}
.share-destinations #share-x{background:var(--ink);color:var(--paper)}.share-destinations #share-copy{background:var(--pink)}.share-destinations [hidden]{display:none}.share-destinations [aria-disabled=true],.share-destinations :disabled{opacity:.4;box-shadow:none;cursor:default}
@media(max-width:520px){.receipt-actions{gap:7px}#share{font-size:9px;padding:7px 8px}#share-dialog{padding:20px 17px}#share-title{font-size:24px}.share-destinations{display:grid;grid-template-columns:1fr}.share-destinations a,.share-destinations button{width:100%}}

#share-text{min-height:235px}#share-link-note{font-size:10px;line-height:1.8;color:#6d5d78;margin:8px 0 0;padding:8px 10px;background:#eee6fa;border-radius:5px}

/* A playful capacity plate, populated from the dictionary itself. */
.vocab-meter{position:relative;margin:6px 0 22px;padding:17px 12px 11px;border:2px solid var(--ink);border-radius:10px;background:#edf7d6;box-shadow:inset 0 2px 0 #ffffffb0,3px 3px 0 #655178;text-align:center;color:var(--ink)}
.vocab-badge{position:absolute;top:-10px;left:12px;padding:2px 8px;border:1.5px solid var(--ink);border-radius:3px;background:var(--yellow);font-size:10px;font-weight:750;transform:rotate(-3deg)}
.vocab-total{display:flex;justify-content:center;align-items:baseline;gap:7px;flex-wrap:wrap;margin:0;font-size:11px;font-weight:700;line-height:1.4}.vocab-total strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:34px;font-weight:900;letter-spacing:.025em;font-variant-numeric:tabular-nums}.vocab-total>span{white-space:nowrap}.vocab-sub{margin:5px 0 0;font-size:10px;line-height:1.7}.vocab-sub b{font-variant-numeric:tabular-nums}.vocab-sub>span{white-space:nowrap}.vocab-note{margin:5px 0 0;font-size:9px;line-height:1.6;color:#52603e}
@media(max-width:520px){.vocab-meter{padding:16px 8px 9px;margin-top:17px;margin-bottom:17px}.vocab-total{gap:5px;font-size:10px}.vocab-total strong{font-size:29px}.vocab-sub{font-size:9px}.vocab-note{font-size:8px}.vocab-badge{font-size:9px}}

/* No.001: a cardboard chassis, ready for future bolt-on upgrades. */
.edition{background:#e9c48d;border-radius:2px;border-style:dashed;font-family:Klee,'YuKyokasho',serif}
.contraption{margin-top:52px}
.box-flaps{position:absolute;left:100px;right:100px;top:-25px;height:50px;pointer-events:none}
.box-flaps span{position:absolute;top:0;width:52%;height:46px;background:repeating-linear-gradient(90deg,#c79b63 0 3px,#dbb37b 3px 6px);border:2px solid #654b34;border-bottom:0;border-radius:2px}
.box-flaps span:first-child{left:0;transform:skewY(-5deg) rotate(-3deg);transform-origin:bottom right}
.box-flaps span:last-child{right:0;transform:skewY(5deg) rotate(3deg);transform-origin:bottom left}
.machine-body{background-color:#d2a66f;background-image:linear-gradient(90deg,transparent 48.8%,#94653925 49%,#f3d5a447 49.4%,transparent 49.8%),repeating-linear-gradient(0deg,#74512c09 0 1px,transparent 1px 4px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23734e2c' opacity='.13' filter='url(%23n)' d='M0 0h120v120H0z'/%3E%3C/svg%3E");border:3px solid #654b34;border-radius:4px 7px 5px 3px;box-shadow:7px 8px 0 #80603e,inset -7px 0 0 #b68a53,inset 6px 0 0 #e6bd84,inset 0 -10px 0 #b98b55;padding-top:25px}
.box-tape{position:absolute;z-index:4;top:-9px;width:86px;height:31px;background:repeating-linear-gradient(0deg,#ffffff13 0 1px,transparent 1px 5px),#b68b56cc;border-left:2px dotted #8b653c77;border-right:2px dotted #8b653c77;box-shadow:0 1px 2px #69482930;pointer-events:none}
.tape-left{left:-18px;transform:rotate(-33deg)}.tape-right{right:-18px;transform:rotate(31deg)}
.box-patch{position:absolute;bottom:15px;right:-14px;z-index:3;width:74px;padding:7px 4px;background:#c09a66e8;border:1px dashed #86633d;color:#624a35;font:11px Klee,'YuKyokasho',serif;text-align:center;transform:rotate(-18deg);pointer-events:none}
.machine-top{margin:0 0 20px;gap:8px}.serial{background:#f8edd3;padding:5px 8px;font-size:10px;transform:rotate(-2deg);box-shadow:1px 2px 0 #8b643b44;letter-spacing:.05em}.power{color:#513b29}
.note-right{background:#f7eac8;border-radius:2px;border:1.5px dashed #856642;color:#715036;transform:rotate(9deg);font-family:Klee,'YuKyokasho',serif}
.plumbing{opacity:.85}.plumbing>g:nth-child(1){stroke:#765539}.plumbing>g:nth-child(2){stroke:#bca88a}.plumbing>g:nth-child(3){stroke:#d6bf98}.plumbing>g:nth-child(4){stroke:#765539}.plumbing circle{fill:#dbc197}
.vocab-meter{background:#fff8df;border:1.5px solid #816641;border-radius:2px;box-shadow:2px 3px 0 #80603e55;transform:rotate(.5deg)}
.vocab-badge{background:#ddbe87;border:0;border-radius:0;box-shadow:0 1px 0 #8a633e30;font-family:Klee,'YuKyokasho',serif}
.vocab-total strong{color:#4f493b}.vocab-note{color:#76664b}
.input-window{border-color:#604b37;border-radius:3px 5px 2px 4px;box-shadow:4px 5px 0 #89613a}
.window-bar{background:#eedcb5;border-bottom:2px dashed #997951}.window-bar label{font-family:Klee,'YuKyokasho',serif;font-weight:800}
.flavor-panel{background:#ead4ad;border:1.5px dashed #896b49;border-radius:3px;box-shadow:1px 2px 0 #926b4222}
.flavor-panel legend{font-family:Klee,'YuKyokasho',serif;background:#f6ebd0;transform:rotate(-2deg);padding:3px 8px}
.flavor-buttons button{border-color:#614d37;border-radius:4px 2px 5px 3px;box-shadow:0 4px 0 #9b784e}.flavor-buttons button[aria-pressed=true]{box-shadow:0 1px 0 #9b784e}.flavor-buttons button:hover:not([aria-pressed=true]){background:#fff4d9}.flavor-panel p{color:#654d36}
.dial-face{border-color:#67523a;box-shadow:2px 3px 0 #8d6b43}.dial-label,.key-hint{color:#60482e}.vents{color:#6c5136}.vents>i{background:#6c5136;transform:rotate(-3deg)}
#convert{background:#ee9871;border-color:#5b4631;border-radius:5px 9px 4px 6px;box-shadow:0 6px 0 #79563b}#convert:hover:not(:disabled){background:#ffa879;box-shadow:0 8px 0 #79563b}#convert:active:not(:disabled){box-shadow:0 1px 0 #79563b}#convert:disabled{background:#c7b597;color:#675841;box-shadow:0 4px 0 #8e7452}
.ticker{background:#fff3d5;color:#57432d;border:1.5px solid #8f724c;border-radius:2px;box-shadow:1px 2px 0 #956f4944;transform:rotate(-.3deg)}.ticker-led{background:#89a84a;box-shadow:none}
.outlet-label{color:#654932;font-family:Klee,'YuKyokasho',serif}.slot{background:#392d24;border-color:#735236;border-radius:3px;box-shadow:0 -4px 0 #ac804d,0 -7px 0 #efd0a0}
.broken .machine-body{background-color:#bd966b;background-image:repeating-linear-gradient(0deg,#74512c09 0 1px,transparent 1px 4px)}.broken .ticker{background:#fff0d5;color:#803f2d;border-color:#bd784e}.chassis-cracks{stroke:#694328;border-radius:4px}
@media(max-width:750px){.box-flaps{left:54px;right:54px}}
@media(max-width:520px){.contraption{margin-top:42px}.box-flaps{left:17px;right:17px;top:-18px;height:36px}.box-flaps span{height:32px}.machine-body{border-radius:3px 5px 4px 2px;padding-top:23px;box-shadow:4px 5px 0 #80603e,inset -5px 0 0 #b68a53,inset 4px 0 0 #e6bd84}.box-tape{width:60px;height:23px;top:-6px}.tape-left{left:-11px}.tape-right{right:-11px}.box-patch{right:-11px;width:56px;font-size:9px}.serial{font-size:8px;padding:4px 5px}.machine-top{gap:5px}.vocab-meter{margin-top:15px}.note-right{display:none}}

/* A self-congratulatory slip printed only for the current successful result. */
.waste-report{position:relative;z-index:1;margin:0 0 22px;padding:13px 14px 12px;background:#fff1c1;border:1.5px dashed #ad8751;border-radius:3px;transform:rotate(-.6deg)}
.waste-report[hidden]{display:none}
.waste-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.waste-heading h2{font-family:inherit;font-size:13px;margin:0;color:#705037}
#waste-badge{font-size:10px;font-weight:750;border:1.5px solid #a65a36;color:#94492c;padding:3px 6px;transform:rotate(3deg);border-radius:2px}
#waste-message{margin:12px 0 5px;font-size:15px;line-height:1.8;font-weight:800;overflow-wrap:anywhere}
#waste-comment{font-size:11px;line-height:1.7;margin:0;color:#715338}
.waste-scope{display:block;font-size:9px;line-height:1.6;color:#7b684e;margin-top:9px}
@media(max-width:520px){.waste-report{padding:11px 10px;margin-bottom:18px}.waste-heading h2{font-size:12px}#waste-badge{font-size:9px}#waste-message{font-size:14px}#waste-comment{font-size:10px}.waste-scope{font-size:8px}}

/* First play comes before the pitch; the cardboard character stays in view. */
.topbar{padding-top:14px;padding-bottom:10px}.intro{padding-top:12px;padding-bottom:8px}.kicker{padding:5px 19px;margin-bottom:16px;font-size:11px}.letter{font-size:clamp(34px,6.4vw,62px)}.l5{font-size:44px}.subtitle{margin-top:7px}.contraption{margin-top:35px}
.vocab-meter{padding:10px 9px 7px;margin:0 0 15px}.vocab-total strong{font-size:23px}.vocab-badge{font-size:9px;top:-8px}.vocab-sub{margin-top:2px;font-size:9px}.vocab-note{margin-top:2px;font-size:8px}.machine-top{margin-bottom:13px}
.sample-panel{margin:12px 0 0;color:#60482e;font-size:10px}.sample-buttons{display:flex;flex-wrap:wrap;gap:7px;margin:7px 0}.sample-buttons button{background:#fff4d8;border:1px dashed #92714a;border-radius:4px;padding:8px 10px;font-size:11px;min-height:34px}.sample-buttons button:hover{background:#ffe6a0;transform:rotate(-2deg)}.sample-panel small{font-size:9px;line-height:1.6}.flavor-panel{margin-top:16px}
.conversion-note{position:relative;z-index:1;font-size:11px;line-height:1.8;color:#735638;margin:-7px 0 18px;padding-left:10px;border-left:3px solid #c59c63}.conversion-note[hidden]{display:none}
.below-machine+.promo{margin-top:32px;padding:11px 19px}.below-machine+.promo strong{font-size:14px}.support-card{margin-top:30px}
.growth-next{text-align:center;margin:23px 0;padding:16px;background:#edf4d8;border:1.5px dashed #818b51;border-radius:4px}.growth-next>span{display:block;font-size:10px;margin-bottom:8px}.growth-next strong{font-size:17px}.growth-next p{font-size:11px;line-height:1.8;margin-bottom:0}
.growth-log{text-align:left;margin:25px 0}.growth-log h3{font-family:inherit;font-size:17px}.growth-log ol{list-style:none;padding:0;margin:0}.growth-log li{border-left:2px dashed #b9996e;margin-left:5px;padding:0 0 18px 17px;position:relative}.growth-log li:before{content:'';position:absolute;width:9px;height:9px;border:2px solid #92714a;border-radius:50%;background:#ffdb67;left:-6px;top:4px}.growth-log time{display:block;font-size:9px;color:#866e51;margin-bottom:6px}.growth-log strong{display:block;font-size:12px;line-height:1.7}.growth-log p{font-size:11px;line-height:1.8;margin:5px 0 0}.support-button{background:#ead5af;color:#6d5339;border-color:#a0855b}.support-purpose{font-size:11px}
.share-formats{display:flex;gap:8px;margin:17px 0}.share-formats button{flex:1;padding:10px 6px;min-height:42px;border:1.5px solid var(--ink);border-radius:6px;background:var(--paper);font-size:12px;font-weight:700}.share-formats button[aria-pressed=true]{background:var(--yellow);box-shadow:2px 2px 0 var(--ink)}
#share-text-panel[hidden],#share-image-panel[hidden],#share-image-save[hidden],#share-image-crop[hidden]{display:none}.share-image-note{font-size:11px;line-height:1.8;color:#735e47}#share-image-preview img{display:block;width:100%;height:auto;border:1px solid #bba281;border-radius:4px}#share-image-save{display:block;margin:14px 0;text-align:center;background:var(--green);border:2px solid var(--ink);border-radius:6px;padding:12px;color:var(--ink);font-size:14px;font-weight:750;text-decoration:none;box-shadow:2px 3px 0 var(--ink)}
@media(max-width:520px){.topbar{font-size:8px;padding:12px 14px 8px}.intro{padding-top:8px}.kicker{font-size:9px;margin-bottom:14px;padding:5px 14px}.letter{font-size:clamp(25px,8.5vw,44px)}.l5{font-size:6.5vw}.contraption{margin-top:31px}.machine-top{margin-bottom:11px}.vocab-meter{padding:10px 6px 6px;margin-top:8px;margin-bottom:13px}.vocab-total strong{font-size:21px}.vocab-total{font-size:9px}.vocab-sub{font-size:8px}.vocab-note{font-size:7px}.vocab-badge{font-size:8px}.sample-buttons{gap:5px}.sample-buttons button{font-size:10px;padding:7px 8px}.sample-panel{font-size:9px}.sample-panel small{font-size:8px}.below-machine+.promo{max-width:calc(100% - 46px)}.growth-next strong{font-size:15px}.growth-log strong{font-size:11px}.growth-log p{font-size:10px}}
#input{height:116px;min-height:104px}
@media(max-width:520px){#input{height:124px;min-height:112px}}

/* Release controls and help: deliberately isolated from the cardboard skin. */
.startup-help{text-align:center}.startup-help button{padding:12px 20px;margin:8px;border:2px solid #292339;border-radius:12px;background:#ffe08a;color:#292339;font:inherit;font-weight:800;cursor:pointer}
.release-help{max-width:760px;margin:32px auto;padding:20px;text-align:left}.release-help h2{font-size:20px}.release-help details{border-bottom:1px solid #b7a78d;padding:14px 0}.release-help summary{cursor:pointer;font-weight:700}.release-help p{line-height:1.8;font-size:14px}
:focus-visible{outline:3px solid #6b35b2;outline-offset:4px} [hidden]{display:none!important}

/* The letter box stays visibly closed until a real destination is configured. */
.feedback-card{background:#fff9eb}.feedback-label{background:#ffc2df}.feedback-topics{list-style:none;padding:0;margin:23px 0;text-align:left;display:grid;gap:12px}.feedback-topics li{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px dashed #b9996e;border-radius:8px;background:#fffdf6}.feedback-topics li>span{flex:0 0 28px;text-align:center;font-size:23px;line-height:1.3;color:#785783}.feedback-topics strong{font-size:13px}.feedback-topics p{font-size:12px;line-height:1.7;margin:5px 0 0}.feedback-button:disabled{cursor:not-allowed}

/* Salvaged, bolt-on nonsense: original SVG accessories around the cardboard body. */
.contraption{max-width:1000px;padding-left:150px;padding-right:150px;margin-top:72px}
.box-flaps{left:150px;right:150px}.float-note{display:none}
.machine-hardware{position:absolute;inset:0;pointer-events:none;user-select:none;z-index:0}
.hardware-side{position:absolute;top:12px;width:174px;height:auto;overflow:visible}
.hardware-left{left:0}.hardware-right{right:0;top:25px}
.hardware-top{position:absolute;left:17%;top:-65px;width:66%;height:auto;max-height:100px}
.machine-hardware text{fill:#514b40;stroke:none;font:10px Klee,'YuKyokasho',sans-serif;font-weight:700}
.hardware-rotor,.hardware-needle{transform-box:fill-box;transform-origin:center}
.working .hardware-rotor{animation:spin 2.8s linear infinite}
.working .hardware-right .hardware-rotor{animation-direction:reverse}
.working .hardware-needle{animation:hardware-waver .3s ease-in-out infinite alternate}
.working .hardware-lamp{animation:blink .35s steps(2,end) infinite}
.working .lamp-late{animation-delay:.17s}
.working .hardware-bubble{animation:hardware-bubble .8s ease-out infinite}
.working .bubble-late{animation-delay:.35s}
.broken .hardware-needle{transform:rotate(100deg)}
.broken .hardware-lamp{fill:#ad796c}.broken .hardware-rotor{transform:rotate(14deg)}
@keyframes hardware-waver{from{transform:rotate(-25deg)}to{transform:rotate(30deg)}}
@keyframes hardware-bubble{to{transform:translateY(-13px);opacity:0}}
@media(max-width:850px) and (min-width:521px){.contraption{padding-left:88px;padding-right:88px}.box-flaps{left:88px;right:88px}.hardware-side{width:110px;top:36px}.hardware-top{left:12%;width:76%;top:-60px}}
@media(max-width:520px){.contraption{padding-left:28px;padding-right:28px;margin-top:60px}.box-flaps{left:28px;right:28px}.machine-body{padding-left:12px;padding-right:12px}.hardware-side{width:69px;top:15px}.hardware-right{top:88px}.hardware-top{left:4%;width:92%;top:-48px;max-height:65px}.machine-hardware text{font-size:10px}.paper-wrapper{margin-left:8px;margin-right:8px}}

/* Small screens get a complete accessory deck above the controls, not hidden side slivers. */
.hardware-mobile{display:none}
@media(max-width:520px){
 .contraption{padding-left:17px;padding-right:17px;margin-top:calc(42.78vw + 4px)}
 .hardware-side,.hardware-top{display:none}
 .hardware-mobile{display:block;position:absolute;left:0;top:0;width:100%;height:auto;transform:translateY(-98%)}
 .machine-body{padding-left:15px;padding-right:15px}
 .paper-wrapper{margin-left:12px;margin-right:12px}
}

/* Cardboard modules: separate boxes, visible cable runs, cheap switches and paper labels. */
.contraption{max-width:900px;padding:0 75px;margin-top:93px}
.machine-body.stacked-machine{background:none;border:0;border-radius:0;box-shadow:none;padding:0;isolation:isolate}
.carton-unit{position:relative;background-color:#c79f64;background-image:repeating-linear-gradient(0deg,#78583108 0 1px,transparent 1px 4px);border:4px solid #805729;border-radius:5px;box-shadow:5px 4px 0 #a98049,inset -7px 0 0 #b58c50,inset 4px 0 0 #dfbd86;padding:24px 27px;z-index:1}
.carton-unit+.carton-unit{margin-top:9px}
.carton-unit:before,.carton-unit:after{content:'';position:absolute;pointer-events:none;z-index:-1;width:40px;border:9px solid #9a9d98;border-radius:27px}
.input-carton:before{left:-47px;top:115px;height:calc(100% + 2px);border-right:0}
.input-carton:after{right:-22px;top:50px;height:61%;width:19px;border:4px solid #805729;border-left:0;border-radius:0;background:#c79f64}
.controls-carton:before{right:-44px;top:35px;height:calc(100% + 65px);border-left:0;width:35px}
.controls-carton:after{left:-28px;top:40px;height:calc(100% + 28px);border-right:0;width:20px;border-width:7px}
.outlet-carton:before,.outlet-carton:after{display:none}
.input-carton .machine-top{margin:0 0 22px;min-height:28px;padding-left:2px}.input-carton .power{flex-direction:row-reverse;font-size:10px}.input-carton .power i{width:16px;height:16px;border:2px solid #4b4735;box-shadow:inset 1px 2px 2px #0004}
.input-carton .vocab-meter{position:relative;width:260px;max-width:78%;margin:-84px 0 17px 20px;padding:19px 12px 10px;background:#c79f64;border:4px solid #805729;box-shadow:4px 4px 0 #9b713b;transform:rotate(-1deg)}
.input-carton .vocab-badge{position:static;display:block;font-size:12px;background:none;margin:0 0 6px;padding:0;box-shadow:none;transform:none}
.input-carton .vocab-total{background:#fffdf4;border:3px solid #946c3b;padding:7px 4px;font-size:10px}.input-carton .vocab-sub{font-size:9px}.input-carton .vocab-note{font-size:8px}
.memory-cables{position:absolute;left:260px;top:-46px;width:75px;height:65px;z-index:-1;pointer-events:none}.memory-cables i{position:absolute;inset:0;border:5px solid #de428b;border-left:0;border-bottom:0;border-radius:0 27px 0 0}.memory-cables i+i{inset:12px 12px 0 0}
.box-gauge{position:absolute;left:-72px;top:25px;width:65px;height:auto;pointer-events:none;overflow:visible}
.carton-screw{position:absolute;top:12px;background:#a9aaa3;color:#52534e;width:18px;height:18px;border-radius:50%;font:22px/16px monospace;text-align:center;pointer-events:none}.screw-tl{left:10px}.screw-tr{right:10px}
.input-carton .input-window{border:12px solid #4896a5;border-radius:0;box-shadow:3px 4px 0 #a5814c;transform:none;background:#f7f7f2;overflow:hidden}
.input-carton .window-bar{background:#f7f7f2;border-bottom:1px dashed #c9ccbd;padding:7px 8px}.input-carton .window-dots{display:none}.input-carton .window-bar label{font-size:11px}.input-carton #input{min-height:125px;height:145px;background:#f7f7f2;padding:15px 14px 8px}.input-carton .input-meta{padding:7px 12px 10px}.input-carton .sample-panel{margin-top:14px}
.controls-carton{display:grid;grid-template-columns:minmax(0,1fr) 126px;align-items:center;gap:24px;padding-top:19px;padding-bottom:20px}
.controls-carton .flavor-panel{margin:0;padding:0;background:none;border:0;box-shadow:none;min-width:0}.controls-carton .flavor-panel legend{font-size:10px;margin-bottom:12px;padding:2px 7px}.controls-carton .flavor-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.controls-carton .flavor-buttons button{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:0;background:none;border:0;box-shadow:none;padding:0;font-size:11px;transform:none}
.controls-carton .flavor-buttons button:hover{background:none}.controls-carton .flavor-buttons .switch-cap{position:relative;display:block;width:49px;height:49px;border-radius:50%;background:#faf9ed;border:2px solid #a7a59a;box-shadow:0 5px 0 #8d897b,0 7px 0 #7e603d;margin:0;transition:transform .12s,box-shadow .12s}
.controls-carton .switch-cap i{position:absolute;top:7px;left:50%;margin-left:-3px;width:6px;height:6px;border:1px solid #9a9a8a;border-radius:50%;background:#c4c3b5}
.controls-carton .flavor-buttons .switch-label{display:block;background:#fffce8;border:1px solid #d1c6a6;padding:4px 3px;margin:0;box-shadow:1px 2px 0 #906c4244;font-size:10px;font-family:Klee,'YuKyokasho',sans-serif;white-space:nowrap;line-height:1.4;transform:rotate(-2deg);min-width:58px}
.controls-carton .flavor-buttons button:nth-child(even) .switch-label{transform:rotate(2deg)}
.controls-carton .flavor-buttons button[aria-pressed=true] .switch-cap{transform:translateY(4px);box-shadow:0 1px 0 #8d897b,0 3px 0 #7e603d;background:#e5e3d4}
.controls-carton .flavor-buttons button[aria-pressed=true] .switch-cap i{background:#84a347;border-color:#567029;box-shadow:0 0 4px #a5cb65}
.controls-carton .flavor-buttons button:hover .switch-cap{border-color:#635c4c}
.controls-carton #flavor-hint{text-align:left;font-size:9px;min-height:15px;margin:13px 0 0}
.controls-carton .control-deck{padding:0;display:block}.controls-carton #convert{height:66px;min-height:66px;background:#cb8856;border:2px solid #966841;border-radius:2px;box-shadow:4px 5px 0 #918a74;font-size:28px}.controls-carton #convert .button-arrow{font-size:30px}.controls-carton #convert:hover:not(:disabled){background:#df995f;transform:translateY(-1px);box-shadow:4px 6px 0 #918a74}.controls-carton #convert:active:not(:disabled){transform:translate(3px,4px);box-shadow:1px 1px 0 #918a74}.controls-carton #convert:disabled{background:#bbaa87;color:#736343;box-shadow:3px 4px 0 #918a74}
.start-label{display:block;margin-top:12px;background:#fffce8;border:1px solid #d1c6a6;box-shadow:1px 2px 0 #906c4244;font:11px/1.6 Klee,'YuKyokasho',sans-serif;padding:3px 4px;transform:rotate(-1deg)}.controls-carton .key-hint{font-size:8px;margin-top:8px}
.outlet-carton{padding:16px 27px 37px}.outlet-carton .ticker{background:#e5d5b6;border:0;box-shadow:none;transform:none;font-size:10px}.outlet-carton .slot{height:24px;border-radius:0;border:4px solid #514e45;background:#c6c7c1;box-shadow:inset 0 7px 0 #777971}.outlet-carton .outlet-label{margin-top:12px}
.contraption .paper-wrapper{margin:-37px 35px 0}.broken .machine-body.stacked-machine{background:none}.broken .carton-unit{background-color:#bd966b}.working .box-gauge .hardware-needle{animation:hardware-waver .3s ease-in-out infinite alternate}
@media(max-width:750px){.contraption{padding:0 43px}.carton-unit{padding-left:17px;padding-right:17px}.controls-carton{gap:15px;grid-template-columns:minmax(0,1fr) 100px}.box-gauge{width:46px;left:-48px}.input-carton:before{left:-29px;width:23px;border-width:6px}.controls-carton:before{right:-28px;width:23px;border-width:6px}.input-carton .vocab-meter{margin-left:10px}.controls-carton .flavor-buttons{gap:6px}.controls-carton .flavor-buttons .switch-cap{width:43px;height:43px}.controls-carton .flavor-buttons .switch-label{min-width:0;width:100%;font-size:9px}.contraption .paper-wrapper{margin-left:23px;margin-right:23px}}
@media(max-width:520px){.contraption{padding:0 23px;margin-top:80px}.carton-unit{border-width:3px;padding:17px 12px 18px;box-shadow:3px 3px 0 #a98049}.carton-unit+.carton-unit{margin-top:8px}.input-carton .vocab-meter{width:224px;max-width:86%;margin:-68px 0 12px 7px;padding:9px 7px 6px;border-width:3px}.input-carton .vocab-badge{font-size:10px}.input-carton .vocab-total{font-size:8px;padding:5px 2px;gap:4px}.input-carton .vocab-total strong{font-size:22px}.input-carton .vocab-sub{font-size:8px}.input-carton .vocab-note{font-size:6px}.input-carton .machine-top{margin-bottom:12px;min-height:20px}.input-carton .serial{font-size:7px}.input-carton .power{font-size:8px;gap:4px}.input-carton .power i{width:11px;height:11px}.input-carton .input-window{border-width:7px}.input-carton #input{height:130px;min-height:110px;padding:12px 10px;font-size:16px}.input-carton .window-bar label{font-size:9px}.input-carton .input-meta{font-size:7px;padding:5px 7px}.input-carton .sample-panel{font-size:8px}.input-carton .sample-buttons{gap:4px}.input-carton .sample-buttons button{font-size:9px;padding:6px;min-height:32px}.input-carton .sample-panel small{font-size:7px}.memory-cables{left:68%;width:47px;top:-27px;height:42px}.memory-cables i{border-width:4px}.memory-cables i+i{inset:9px 9px 0 0}.box-gauge{width:31px;left:-31px;top:64px}.carton-screw{width:12px;height:12px;font-size:16px;line-height:11px;top:9px}.screw-tl{left:6px}.screw-tr{right:6px}.input-carton:before{left:-21px;top:110px;width:17px;border-width:5px}.input-carton:after{right:-13px;width:11px;border-width:3px}.controls-carton:before{right:-20px;width:16px;border-width:5px}.controls-carton:after{left:-14px;width:11px;border-width:4px}.controls-carton{grid-template-columns:1fr;gap:13px}.controls-carton .flavor-buttons{gap:7px}.controls-carton .flavor-buttons .switch-cap{width:44px;height:44px}.controls-carton .flavor-buttons .switch-label{font-size:9px}.controls-carton .flavor-panel legend{font-size:9px}.controls-carton #flavor-hint{font-size:8px;margin-top:12px}.controls-carton .start-control{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:0 13px;text-align:left}.controls-carton #convert{grid-row:1 / 3;height:51px;min-height:51px}.controls-carton .start-label{margin:0;width:fit-content;font-size:12px;padding:4px 10px}.controls-carton .key-hint{margin:5px 0 0;font-size:7px}.outlet-carton{padding-bottom:34px}.outlet-carton .ticker{padding:4px}.outlet-carton .ticker p{font-size:8px}.contraption .paper-wrapper{margin:-30px 16px 0}.contraption .receipt{padding-left:12px;padding-right:12px}}

.controls-carton .flavor-buttons button[data-flavor][aria-pressed]{background:transparent;box-shadow:none;transform:none}

/* Illustrator initial machine (1366 × 2049 pt). The SVG preserves the user's
   outlined artwork. Live controls use the same coordinates / 1366 × 100. */
.reference-design{background-color:#fff;background-image:linear-gradient(#d0c6bc99 1px,transparent 1px),linear-gradient(90deg,#d0c6bc99 1px,transparent 1px);background-size:22px 22px;color:#302b24}
.reference-design main{max-width:1020px;padding:0 12px}
.reference-design .topbar{display:none}
.mobile-machine-brand{display:none}
.desktop-machine-brand{display:block;position:relative;width:84.6%;height:auto;margin:0 auto -23cqw}
.reference-design .intro,.reference-machine .vocab-badge,.reference-machine .vocab-sub,.reference-machine .vocab-note,.reference-machine .serial,.reference-machine #power-label,.reference-machine .flavor-panel legend,.reference-machine .key-hint{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.reference-machine.contraption{container-type:inline-size;max-width:900px;margin:0 auto;padding:0}
.reference-machine .machine-body.reference-stage{position:relative;height:88.49cqw;padding:0;margin:0;border:0;border-radius:0;background:none;box-shadow:none;isolation:auto}
.reference-machine .reference-stage:before{content:'';display:block;position:absolute;inset:0 0 auto;width:100%;height:97.805cqw;clip-path:inset(20.5cqw 0 0);background:url('assets/machine-001.svg') top center/100% auto no-repeat;pointer-events:none;transform:none;border:0;box-shadow:none;border-radius:0;z-index:0}
.reference-machine .reference-stage:after,.reference-machine .carton-unit:before,.reference-machine .carton-unit:after,.reference-machine .input-window:before,.reference-machine .input-window:after{display:none}
.reference-machine .carton-unit,.reference-machine .machine-top,.reference-machine .flavor-panel,.reference-machine .control-deck,.reference-machine .start-control{display:contents;background:none;border:0;box-shadow:none;padding:0;margin:0}
.reference-machine .memory-cables,.reference-machine .box-gauge,.reference-machine .carton-screw,.reference-machine .outlet-label,.reference-machine .slot{display:none}
.reference-machine .input-carton .vocab-meter{position:absolute;left:25.3%;top:26.5cqw;width:21.9%;height:4.1cqw;max-width:none;margin:0;padding:0;border:0;background:transparent;box-shadow:none;transform:none}
.reference-machine .input-carton .vocab-total{height:100%;display:flex;align-items:center;justify-content:center;gap:.65cqw;margin:0;padding:0;border:0;background:transparent;font-size:1.05cqw;white-space:nowrap;color:#231916}
.reference-machine .input-carton .vocab-total strong{font-family:monospace;font-size:2.55cqw;line-height:1;font-weight:900;letter-spacing:-.06em}
.reference-machine .input-carton .vocab-total span{font-size:1.03cqw}
.reference-machine .input-carton .power{position:absolute;left:77.33%;top:23.02cqw;width:3.23cqw;height:3.22cqw;display:block}
.reference-machine .input-carton .power i{position:relative;display:block;left:.17cqw;top:.17cqw;width:calc(100% - .34cqw);height:calc(100% - .17cqw);border:0;border-radius:50% 50% 0 0;background:#c3ad62;box-shadow:none}
.reference-machine .input-carton .power i:after{content:'';position:absolute;left:18%;top:18%;width:35%;height:30%;border-top:.28cqw solid #fff6d9;border-left:.28cqw solid #fff6d9;border-radius:90% 0 0 0;background:none;transform:rotate(-8deg)}
.reference-machine .input-carton .power i.ready{background:#aebc70;box-shadow:none}
.reference-machine.working .power i{animation:blink .3s steps(2,end) infinite}
.reference-machine.broken .power i.ready{background:#cb7964;box-shadow:none}
.reference-machine .input-carton .input-window{position:absolute;left:21.618%;top:37.14cqw;width:56.764%;height:23.1cqw;border:0;border-radius:1.25cqw;box-shadow:none;transform:none;display:flex;flex-direction:column;background:#f4f3f3;overflow:hidden}
.reference-machine .input-carton .window-bar{flex:none;min-height:30px;padding:8px 16px 3px;background:transparent;border:0;gap:3px}
.reference-machine .window-dots{display:none}
.reference-machine .input-carton .window-bar label{font-family:inherit;font-size:clamp(10px,1.35cqw,12px);line-height:1.3;color:#84847f;font-weight:600}
.reference-machine .input-carton .clear{padding:4px;font-size:clamp(10px,1.35cqw,12px);line-height:1.3;color:#84847f}
.reference-machine .input-carton #input{flex:1;min-height:0;height:0;max-height:none;width:100%;resize:none;background:transparent;font-size:clamp(16px,2.2cqw,20px);line-height:1.65;padding:6px 16px;color:#302b24;border:0}
.reference-machine #input::placeholder{font-size:clamp(11px,1.8cqw,16px);line-height:1.7;color:#aaa59d}
.reference-machine .input-carton .input-meta{flex:none;padding:4px 12px 8px;font-size:clamp(8px,1.2cqw,11px);color:#84847f}
.reference-machine .input-meta>span:first-child{visibility:hidden}
.reference-machine .flavor-buttons{position:absolute;left:22.23%;top:69.99cqw;width:38.07%;display:grid;grid-template-columns:repeat(4,1fr);gap:2.93cqw}
.reference-machine .controls-carton .flavor-buttons button[data-flavor][aria-pressed]{position:relative;display:flex;align-items:center;flex-direction:column;gap:1.18cqw;width:100%;min-width:0;min-height:0;height:9.2cqw;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
.reference-machine .controls-carton .flavor-buttons .switch-cap{flex:none;position:relative;display:block;width:5.39cqw;height:5.39cqw;margin:0;background:transparent;border:0;border-radius:50%;box-shadow:none;transition:transform .15s}
.reference-machine .controls-carton .switch-cap i{position:absolute;top:50%;left:50%;width:1.04cqw;height:1.04cqw;margin:0;transform:translate(-50%,-50%);background:#b9caba;border:0;border-radius:50%;box-shadow:none}
.reference-machine .controls-carton .flavor-buttons button[aria-pressed=true] .switch-cap{background:#fff5df44;box-shadow:inset 0 2px 3px #4f686655;transform:translateY(1px)}
.reference-machine .controls-carton .flavor-buttons button[aria-pressed=true] .switch-cap i{background:#d26149;box-shadow:0 0 6px #d2614940}
.reference-machine .controls-carton .flavor-buttons button:hover .switch-cap{outline:2px solid #7d9b91;outline-offset:1px}
.reference-machine .controls-carton .flavor-buttons .switch-label{display:block;width:7.32cqw;min-width:0;margin:0;padding:0;background:transparent;border:0;box-shadow:none;font-size:clamp(9px,1.25cqw,12px);line-height:2.35cqw;text-align:center;white-space:nowrap;transform:rotate(-2deg);color:#253e47}
.reference-machine .controls-carton .flavor-buttons button:nth-child(even) .switch-label{transform:rotate(2deg)}
.reference-machine .controls-carton #convert{position:absolute;left:63.84%;top:69.29cqw;width:13.23%;height:7.4cqw;min-height:0;padding:0;background:#db5443;border:0;border-radius:1.8cqw;box-shadow:.36cqw .3cqw 0 #3e3a39;color:#253e47;transform:none}
.reference-machine .controls-carton #convert:hover:not(:disabled){background:#e8644d;transform:translateY(-1px)}
.reference-machine .controls-carton #convert:active:not(:disabled){transform:translate(.3cqw,.3cqw);box-shadow:none}
.reference-machine .controls-carton #convert:disabled{background:#cb7964;opacity:1;box-shadow:.36cqw .3cqw 0 #6f6252}
.reference-machine .controls-carton #convert .start-label{position:static;display:block;width:100%;max-width:none;margin:0;padding:0;background:none;border:0;box-shadow:none;font-size:clamp(15px,2.6cqw,25px);line-height:1.2;text-align:center;font-weight:500;transform:none;white-space:normal;color:inherit}
.reference-machine .controls-carton #convert[aria-busy=true] .start-label{font-size:clamp(10px,1.5cqw,15px)}
.reference-machine .paper-wrapper{width:58%;margin:0 0 0 21.19%;padding:0;filter:drop-shadow(3px 4px 0 #8a8a89);z-index:2}
.reference-machine .receipt{min-height:37.72cqw;padding:22px 25px 40px;background:#f4f3f3;border:0;box-shadow:none;border-radius:0;clip-path:polygon(0 0,100% 0,100% calc(100% - 7px),97.5% 100%,95% calc(100% - 9px),92.5% calc(100% - 2px),90% calc(100% - 11px),87.5% 100%,85% calc(100% - 6px),82.5% calc(100% - 1px),80% calc(100% - 10px),77.5% 100%,75% calc(100% - 8px),72.5% calc(100% - 3px),70% calc(100% - 12px),67.5% 100%,65% calc(100% - 7px),62.5% calc(100% - 2px),60% calc(100% - 10px),57.5% 100%,55% calc(100% - 6px),52.5% calc(100% - 1px),50% calc(100% - 9px),47.5% 100%,45% calc(100% - 11px),42.5% calc(100% - 2px),40% calc(100% - 7px),37.5% 100%,35% calc(100% - 10px),32.5% calc(100% - 1px),30% calc(100% - 8px),27.5% 100%,25% calc(100% - 6px),22.5% calc(100% - 2px),20% calc(100% - 11px),17.5% 100%,15% calc(100% - 8px),12.5% calc(100% - 1px),10% calc(100% - 10px),7.5% 100%,5% calc(100% - 7px),2.5% calc(100% - 2px),0% calc(100% - 9px));transform:none}
.reference-machine .receipt:before,.reference-machine .receipt:after{display:none}
.reference-machine .receipt-top{font-size:11px;padding-bottom:12px;color:#84847f;border-bottom:1px dashed #a78158;gap:8px;flex-wrap:wrap}
.reference-machine .output{font-size:18px;overflow-wrap:anywhere;margin-top:16px}
.reference-machine .output.empty{font-size:17px;color:#302b24;font-weight:600;line-height:1.9}
.reference-machine .paper-stamp{opacity:.15}
.reference-machine .receipt-bottom{flex-wrap:wrap;gap:12px}
.reference-machine .receipt-actions{flex-wrap:wrap}
.reference-machine .fault-receipt{background:#fff0df}
.reference-machine .breakdown-effects{inset:27cqw 16% -8cqw 16%;z-index:5;pointer-events:none}
.reference-machine .chassis-cracks{height:100%}
.reference-design .machine-assistance{max-width:520px;margin:28px auto 0;padding:0 12px}
.machine-assistance .ticker{background:#f8f3e9;color:#6d665b;border:1px solid #c9b590;border-radius:2px;box-shadow:2px 2px 0 #c9b59055;transform:none;padding:8px 12px}
.machine-assistance .ticker p{font-size:11px}.machine-assistance .ticker-led{background:#b4a582;box-shadow:none}
.machine-assistance #flavor-hint{font-size:11px;color:#7c7266;margin:10px 0;text-align:center;background:#fffc;padding:5px}
.machine-assistance .startup-help{margin:0}.machine-assistance .sample-panel{margin:14px 0 0;text-align:center;font-size:11px;background:#fff9;padding:8px}
.machine-assistance .sample-buttons{justify-content:center;flex-wrap:wrap}.machine-assistance .sample-buttons button{min-height:36px;font-size:11px}.machine-assistance .sample-panel small{font-size:9px}
.reference-design .below-machine{max-width:520px;margin:22px auto 0;background:#fff9;padding:8px}
.reference-machine .controls-carton .flavor-buttons button:before{content:'';position:absolute;inset:-4px -2px;min-height:44px}
.reference-machine .controls-carton #convert:before{content:'';position:absolute;inset:-5px 0;min-height:44px}
.reference-machine .input-window:focus-within,.reference-machine #input:focus,.reference-machine #input:focus-visible{outline:none;box-shadow:none}
@media(max-width:520px){
 .reference-design{background-size:16px 16px}
 /* Fit the cardboard box, letting decorative side parts leave the viewport.
    Keep the logo separate so enlarging the body never crops its lettering. */
 .reference-design main{padding:0 3px;overflow-x:clip}
 .desktop-machine-brand{display:none}
 .mobile-machine-brand{display:block;width:calc(100% + 6px);max-width:none;height:auto;aspect-ratio:1185.77 / 374.393;margin:0 -3px -18px;background:url('assets/machine-title-mobile.svg?v=2') top center/100% auto no-repeat}
 .reference-machine.contraption{width:calc(148vw - 23.68px);max-width:none;margin-left:calc(50% - 74vw + 11.84px);margin-right:0}
 .reference-machine .machine-body.reference-stage{height:67.99cqw}
 .reference-machine .reference-stage:before{top:-20.5cqw;clip-path:inset(20.5cqw 0 0)}
 .reference-machine .input-carton .vocab-meter{top:6cqw}
 .reference-machine .input-carton .power{top:2.52cqw}
 .reference-machine .input-carton .input-window{top:16.64cqw}
 .reference-machine .flavor-buttons{top:49.49cqw}
 .reference-machine .controls-carton #convert{top:48.79cqw}
 .reference-machine .breakdown-effects{top:6.5cqw}
 .reference-machine .input-carton .window-bar{padding:2px 6px;min-height:22px}
 .reference-machine .input-carton .window-bar label{font-size:9px}
 .reference-machine .input-carton .clear{font-size:10px;padding:4px 0}
 .reference-machine .input-carton #input{padding:0 7px;line-height:1.45;font-size:16px}
 .reference-machine .input-carton .input-meta{padding:1px 6px;font-size:8px}
 .reference-machine .controls-carton .flavor-buttons .switch-label{font-size:9px;line-height:13px;min-width:36px;background:#fdf6e5;box-shadow:1px 1px 0 #443b2d}
 .reference-machine .receipt{padding:14px 12px 32px;min-height:50cqw;box-shadow:none}
 .reference-machine .receipt-top{font-size:8px;gap:4px}
 .reference-machine .output{font-size:16px;line-height:1.8}
 .reference-machine .output.empty{font-size:13px}
 .reference-machine .receipt-actions{width:100%;gap:6px}
 .reference-machine .receipt-actions button{font-size:11px;padding:8px;min-height:40px}
 .reference-design .machine-assistance,.reference-design .below-machine{width:calc(100% - 40px)}
}
@media(max-width:360px){.reference-machine .controls-carton .flavor-buttons .switch-label{min-width:30px;font-size:8px}.reference-machine .input-carton .window-bar label{font-size:8px}}

/* The lab is not connected yet: explicit local notes, separate from conversion. */
.teach-word-button{display:block;width:100%;margin-top:23px;padding:12px;border:2px solid #785b38;border-radius:3px;background:#e9c976;color:#493821;font-size:13px;font-weight:700;line-height:1.6;box-shadow:2px 3px 0 #b59366;white-space:normal}
.teach-word-button{text-align:center;text-decoration:none}.teach-word-button:hover{background:#f0d58e}.teach-word-note{display:block;margin-top:9px;font-size:10px;line-height:1.7;color:#866e55}
.notebook-invitation{margin:22px 0;padding:18px;border:1px dashed #a48d66;background:#fff8e6;text-align:left;line-height:1.8}
.notebook-invitation p{font-size:12px}.notebook-invitation button{padding:10px 14px;background:#eed8a7;border:1px solid #8d704a;border-radius:3px;font-weight:700}
#notebook-dialog{width:min(520px,calc(100% - 24px));max-height:85dvh;overflow:auto;padding:25px;background:#fff8e9;color:#44392c;border:3px solid #805a36;border-radius:5px;box-shadow:7px 7px 0 #805a3633}
#notebook-dialog::backdrop{background:#243e4780}.notebook-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.notebook-sticker{font-size:11px;background:#4f9591;color:#fff8e9;padding:4px 7px;transform:rotate(-2deg)}
#notebook-close{padding:8px;border:0;background:transparent;font-size:12px;white-space:nowrap}#notebook-title{font-size:24px;margin:22px 0 15px}#notebook-description{font-size:13px;line-height:1.9}
#notebook-form{margin:24px 0 0}#notebook-form label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}#notebook-word{background:white;border:1px solid #b8aa91;border-radius:2px;min-height:92px;max-height:180px;font-size:16px;padding:12px;line-height:1.7}
#notebook-hint,.notebook-footnote{font-size:11px;color:#80745f;line-height:1.8}#notebook-save{width:100%;padding:13px 10px;background:#e7c879;border:2px solid #805a36;border-radius:3px;font-size:14px;font-weight:700}
#notebook-status{font-size:12px;line-height:1.8;min-height:44px;color:#665335}#notebook-list-title{font-size:14px;border-top:1px dashed #b8aa91;padding-top:18px;display:flex;justify-content:space-between}#notebook-count{font-size:11px;font-weight:400}
#notebook-list{list-style:none;padding:0;margin:12px 0;max-height:230px;overflow:auto}#notebook-list li{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #e3d5ba}#notebook-list li>span{flex:1;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap;font-size:13px}#notebook-list small{font-size:10px;white-space:nowrap;color:#81745e}#notebook-list button{font-size:11px;background:none;border:1px solid #b8aa91;padding:8px;color:#805a36;flex:none}.notebook-empty{font-size:12px;color:#81745e}
@media(max-width:520px){#notebook-dialog{padding:18px}#notebook-title{font-size:21px}.teach-word-button{font-size:12px;padding:10px}.teach-word-note{font-size:9px}}

/* The physical power switch stays available even while the engine is stopped. */
.reference-machine .power-toggle{position:absolute;z-index:3;left:76.93%;top:30.05cqw;width:3.97cqw;height:3.97cqw;padding:0;border:.45cqw solid #767b71;border-radius:50%;background:#d26149;box-shadow:inset 0 -.2cqw 0 #993e2d;cursor:pointer;touch-action:manipulation}
.reference-machine .power-toggle:before{content:'';position:absolute;width:max(44px,100%);height:max(44px,100%);left:50%;top:50%;transform:translate(-50%,-50%)}
.reference-machine .power-toggle:hover{background:#ed795c}
.reference-machine .power-toggle:active{box-shadow:inset 0 .2cqw .3cqw #823526;transform:translateY(1px)}
.reference-machine .power-toggle[aria-pressed=false]{background:#ad4a36;box-shadow:inset 0 .2cqw .3cqw #6e352d}
.power-off-message{display:none}
.reference-machine.powered-off .input-carton .input-window{background:#deddd4}
.reference-machine.powered-off .input-window #input,.reference-machine.powered-off .input-window .window-bar,.reference-machine.powered-off .input-window .input-meta{visibility:hidden}
.reference-machine.powered-off .power-off-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#7b7a6a;text-align:center;pointer-events:none}
.power-off-message strong{font-size:clamp(16px,2.4cqw,22px);font-weight:500}.power-off-message span{font:11px monospace;letter-spacing:.15em}.power-off-message small{font-size:10px}
.reference-machine.powered-off .input-carton .power i{background:#797c65;box-shadow:none;animation:none}
.reference-machine.powered-off .controls-carton .flavor-buttons button[aria-pressed] .switch-cap i{background:#b9caba;box-shadow:none}
.reference-machine.powered-off .controls-carton .flavor-buttons button .switch-cap{box-shadow:none;transform:none}
.reference-machine.powered-off .controls-carton .flavor-buttons button:hover .switch-cap{outline:none}
.reference-machine.powered-off .vocab-total{opacity:.4}
@media(max-width:520px){.reference-machine .power-toggle{top:9.55cqw}}

/* Separate the original gauge needle from the artwork so it follows engine state. */
.reference-machine .pressure-gauge{position:absolute;z-index:2;left:88.4334%;top:60.4685cqw;width:10.615cqw;height:10.615cqw;pointer-events:none;overflow:visible}
.pressure-gauge .pressure-needle{transform-box:view-box;transform-origin:49.9841% 49.9552%;transform:rotate(0deg);transition:transform .45s ease-out}
.reference-machine.working .pressure-needle{transform:rotate(90deg);animation:pressure-bounce .65s linear infinite}
.reference-machine.broken .pressure-needle,.reference-machine.powered-off .pressure-needle{transform:rotate(-85deg);animation:none}
@keyframes pressure-bounce{0%{transform:rotate(0deg)}16%{transform:rotate(85deg)}31%{transform:rotate(55deg)}48%{transform:rotate(125deg)}65%{transform:rotate(90deg)}82%{transform:rotate(140deg)}100%{transform:rotate(70deg)}}
@media(max-width:520px){.reference-machine .pressure-gauge{top:39.9685cqw}}

/* Original Illustrator spare parts: fixed sizes and positions, cropped by narrow windows. */
.reference-design{position:relative}
.lab-sides{display:block;position:fixed;inset:0;height:100dvh;pointer-events:none;user-select:none;overflow:hidden}
.lab-sides .spare-part{position:absolute;display:block;height:auto;max-width:none}
.lab-sides .spare-connector{width:230px;left:calc(50% - 695px);top:338px;transform:rotate(-8deg)}
.lab-sides .spare-gauge{width:105px;left:calc(50% - 580px);top:575px;transform:rotate(12deg)}
.lab-sides .spare-cables{width:155px;left:calc(50% - 685px);top:760px;transform:rotate(9deg)}
.lab-sides .spare-amplifier{width:170px;right:calc(50% - 660px);top:335px;transform:rotate(-7deg)}
.lab-sides .spare-screw{width:22px}
.lab-sides .spare-screw-left{left:calc(50% - 670px);top:650px;transform:rotate(18deg)}
.lab-sides .spare-screw-right{right:calc(50% - 580px);top:725px;transform:rotate(-24deg)}

/* A dedicated vector layer keeps the graph paper visible at wide screen sizes. */
.reference-design{isolation:isolate;background-image:none}
.lab-grid{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.lab-grid rect{fill:url(#lab-grid-wide)}
@media(max-width:520px){.lab-grid rect{fill:url(#lab-grid-small)}}


/* Phone typography: readable live text without scaling the illustrated chassis. */
@media(max-width:520px){
 .reference-machine .input-carton .window-bar{min-height:26px}
 .reference-machine .input-carton .window-bar label,.reference-machine .input-carton .clear{font-size:12px;color:#696961}
 .reference-machine .input-carton #input{font-size:18px;line-height:1.5}
 .reference-machine #input::placeholder{font-size:14px;line-height:1.5;color:#817d75}
 .reference-machine .input-carton .input-meta{font-size:11px;color:#696961}
 .reference-machine .controls-carton .flavor-buttons .switch-label{font-size:11px;line-height:17px;min-width:46px}
 .reference-machine .controls-carton #convert .start-label{font-size:18px}
 .reference-machine .controls-carton #convert[aria-busy=true] .start-label{font-size:12px}
 .reference-machine .receipt-top{font-size:11px;line-height:1.6}
 #result-tag{font-size:10px}
 .reference-machine .output{font-size:18px;line-height:1.85}
 .reference-machine .output.empty{font-size:16px}
 .reference-machine .receipt-actions #copy,.reference-machine .receipt-actions #share{font-size:13px;min-height:44px}
 .reference-machine .toggle{font-size:12px}
 .reference-machine .toggle input{width:16px;height:16px}
 .waste-heading h2{font-size:14px}#waste-badge{font-size:11px}
 #waste-message{font-size:16px}#waste-comment{font-size:13px}
 .waste-scope,.conversion-note{font-size:12px}
 .fault-code{font-size:11px}.fault-title{font-size:21px}.fault-help{font-size:14px}
 .teach-word-button{font-size:14px}.teach-word-note{font-size:12px}
 .power-off-message strong{font-size:18px}.power-off-message span{font-size:12px}.power-off-message small{font-size:12px}
 .machine-assistance .ticker p,.machine-assistance #flavor-hint,.machine-assistance .sample-panel{font-size:14px;line-height:1.8}
 .machine-assistance .sample-buttons button{font-size:13px;min-height:44px}
 .machine-assistance .sample-panel small{font-size:12px}
 .below-machine summary{font-size:14px;flex-wrap:wrap}
 #change-count{font-size:12px}.changes{font-size:13px}
 .fine-print{font-size:12px}.privacy{font-size:11px;flex-wrap:wrap}
 .support-top{font-size:11px;flex-wrap:wrap}.support-lead{font-size:14px}
 .support-purpose,.support-note{font-size:13px}.support-availability{font-size:12px}
 .support-button{font-size:16px}.evolution-label{font-size:11px}.evolution p{font-size:13px}
 .growth-next>span,.growth-log time{font-size:12px}.growth-next strong{font-size:18px}
 .growth-next p,.growth-log p{font-size:13px}.growth-log strong{font-size:14px}
 .feedback-topics strong{font-size:15px}.feedback-topics p{font-size:14px}
 .release-help summary{font-size:14px}.release-help p{font-size:16px}
 .notebook-invitation p{font-size:14px}.notebook-invitation button{font-size:15px}
 .promo-label,.promo-note{font-size:12px}.below-machine+.promo strong{font-size:16px}
 footer{font-size:11px;line-height:1.8;text-align:center}
 .share-sticker,.notebook-sticker{font-size:12px}
 #share-close,#notebook-close{font-size:13px;flex-shrink:0}
 #share-description,#notebook-description{font-size:15px}
 #share-dialog label,#notebook-form label{font-size:14px}
 #share-text,#notebook-word{font-size:18px}
 #share-hint,#share-feedback,#share-link-note,.share-image-note,#notebook-hint,.notebook-footnote{font-size:13px}
 .share-formats button,.share-destinations a,.share-destinations button{font-size:14px}
 #share-image-save,#notebook-save{font-size:16px}
 #notebook-status,.notebook-empty{font-size:14px}
 #notebook-list-title{font-size:16px;flex-wrap:wrap;gap:5px}#notebook-count{font-size:12px}
 #notebook-list li{flex-wrap:wrap}#notebook-list li>span{font-size:15px}
 #notebook-list small,#notebook-list button{font-size:12px}
}

/* Keep the earlier workshop notes alongside the Illustrator spare parts. */
.lab-sides{color:#655d46;font-family:'Hannotate SC','Klee','Hiragino Maru Gothic ProN',sans-serif}
.lab-sides>div{position:absolute;width:176px}
.lab-scrap{padding:22px 13px 18px;box-shadow:2px 3px 0 #66573b20;border:1px solid #d8cba9;text-align:center}
.lab-scrap:before{content:'';position:absolute;top:-10px;left:calc(50% - 29px);width:58px;height:21px;background:#c9b99a99;transform:rotate(3deg);clip-path:polygon(2% 0,98% 4%,96% 22%,100% 42%,96% 65%,99% 90%,3% 100%,5% 73%,0 50%,4% 25%)}
.lab-note-id{display:block;font-family:monospace;font-size:9px;letter-spacing:.08em;padding-bottom:10px;margin-bottom:12px;border-bottom:1px dashed #b7a987}
.lab-sides strong{font-weight:600;font-size:14px;line-height:1.9}
.lab-sides p{font-size:13px;line-height:1.9;margin:12px 0}
.lab-sides small{display:block;font-size:10px;line-height:1.7}
.lab-research{left:calc(50% - 690px);top:0;transform:rotate(-5deg);background:repeating-linear-gradient(transparent 0 27px,#bdad7e22 27px 28px),#fff6cf}
.lab-sides .lab-before{font-size:12px;margin-bottom:0}.lab-down{display:block;color:#bb6c51;font-size:25px;line-height:1.3}
.lab-sides .lab-after{margin-top:0;color:#3f7777}
.lab-pencil{position:absolute;z-index:1;bottom:17px;left:38%;width:90%;height:26px;transform:rotate(-38deg)}
.lab-parts{right:calc(50% - 690px);top:620px;transform:rotate(5deg);background:#edf2e7}
.lab-spare-lamp{display:block;width:100%;margin:10px 0 -5px}.lab-parts p{color:#50716b}
.lab-carton-label{left:calc(50% - 674px);top:925px;padding:12px;text-align:center;transform:rotate(7deg);border:2px solid #ae8b59;background:#d6b47c;box-shadow:3px 3px 0 #7c63361c}
.lab-carton-label>span{display:block;border-bottom:1px solid #aa8652;padding-bottom:5px;font-size:10px;letter-spacing:.3em}.lab-carton-label svg{display:block;width:72px;margin:9px auto}.lab-carton-label small{margin-top:9px;font-size:9px}
.lab-loose-wire{right:calc(50% - 674px);top:1115px;transform:rotate(-7deg)}
.lab-loose-wire svg{display:block;width:100%}.lab-loose-wire p{font-size:11px;text-align:center;background:#fff9;padding:3px;transform:rotate(3deg)}
.lab-sides .spare-connector{width:210px;left:calc(50% - 695px);top:365px}
.lab-sides .spare-gauge{width:85px;left:calc(50% - 600px);top:465px}
.lab-sides .spare-cables{width:145px;left:calc(50% - 685px);top:800px}
.lab-sides .spare-amplifier{width:130px;right:calc(50% - 660px);top:95px}
.lab-sides .spare-screw-left{left:calc(50% - 470px);top:755px}
.lab-sides .spare-screw-right{right:calc(50% - 600px);top:1030px}

/* Move all scattered decorations down together, preserving fixed sizes. */
.lab-sides{top:0;height:100dvh}

/* One more handwritten sticky note beside the loose wire. */
.lab-sides .lab-time-note{left:calc(50% - 690px);top:605px;width:166px;padding:24px 12px 22px;background:#ffe6a3;transform:rotate(6deg);border-color:#dac18a;box-shadow:3px 5px 0 #66573b20}
.lab-time-note strong{font-size:15px;line-height:1.9;color:#655139}

/* Keep the interactive note below the amplifier; crop the fixed canvas on narrow screens. */
.sample-sticky-area{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.sample-sticky{position:absolute;pointer-events:auto;right:calc(50% - 680px);top:320px;width:170px;padding:22px 10px 14px;background:#fff1b8;border-color:#d8c48f;transform:rotate(-5deg);color:#655139;font-family:'Hannotate SC','Klee','Hiragino Maru Gothic ProN',sans-serif}
.sample-sticky h2{font-size:13px;line-height:1.7;margin:0 0 9px;font-weight:600}
.sample-sticky .sample-buttons{display:flex;flex-direction:column;gap:0;margin:0}
.sample-sticky .sample-buttons button{min-height:44px;padding:7px 2px;border:0;border-bottom:1px dashed #bda872;border-radius:0;background:transparent;font-size:14px;text-align:left;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.sample-sticky .sample-buttons button:last-child{border-bottom:0}
.sample-sticky .sample-buttons button:hover:not(:disabled){background:#f3d98355;transform:none}
.sample-sticky .sample-buttons button:disabled{opacity:.45}
.machine-feedback{max-width:520px;margin:0 auto;text-align:center}
.machine-feedback #status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.machine-feedback #retry-engine:not([hidden]){margin:18px auto 0;padding:12px 20px;border:2px solid #805a36;border-radius:4px;background:#ffe08a;font-weight:700}
.machine-feedback #retry-engine:not([hidden])+#status{position:static;width:auto;height:auto;margin:12px;padding:8px;overflow:visible;clip-path:none;white-space:normal;font-size:14px;line-height:1.8}

/* Keep the desktop machine at its designed size; crop only decorative edges. */
.reference-design main{overflow-x:clip}
@media(min-width:1025px){
 .reference-design main{max-width:1520px}
 .reference-machine.contraption{width:1400px;max-width:none;margin-left:calc(50% - 700px);margin-right:0}
}

/* Tablets frame the cardboard body like phones, with the title fitted separately. */
@media(min-width:521px) and (max-width:1024px){
 .reference-design main{max-width:none;padding:0 12px}
 .desktop-machine-brand{display:none}
 .mobile-machine-brand{display:block;width:100%;height:auto;aspect-ratio:1185.77 / 374.393;margin:0 0 -3px;background:url('assets/machine-title-mobile.svg?v=2') top center/100% auto no-repeat}
 .reference-machine.contraption{width:min(1400px,calc(148vw - 23.68px));max-width:none;margin-left:calc(50% - min(700px,74vw - 11.84px));margin-right:0}
 .reference-machine .machine-body.reference-stage{height:67.99cqw}
 .reference-machine .reference-stage:before{top:-20.5cqw;clip-path:inset(20.5cqw 0 0)}
 .reference-machine .input-carton .vocab-meter{top:6cqw}
 .reference-machine .input-carton .power{top:2.52cqw}
 .reference-machine .input-carton .input-window{top:16.64cqw}
 .reference-machine .flavor-buttons{top:49.49cqw}
 .reference-machine .controls-carton #convert{top:48.79cqw}
 .reference-machine .breakdown-effects{top:6.5cqw}
 .reference-machine .power-toggle{top:9.55cqw}
 .reference-machine .pressure-gauge{top:39.9685cqw}
 .reference-machine .input-carton .window-bar label,.reference-machine .input-carton .clear{font-size:14px}
 .reference-machine .controls-carton .flavor-buttons .switch-label{font-size:clamp(11px,1.25cqw,14px)}
}

/* Spread the side clusters outward, retaining their fixed sizes and rotations. */
.lab-sides :is(.lab-time-note,.lab-research,.lab-carton-label,.spare-connector,.spare-gauge,.spare-cables,.spare-screw-left){translate:-80px 100px}
.lab-sides :is(.lab-parts,.lab-loose-wire,.spare-amplifier,.spare-screw-right),.sample-sticky{translate:80px 0}

.reference-machine #result-tag{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:right}

/* Leave the unused receipt unstamped. */
.receipt:has(.output.empty) .paper-stamp{display:none}

/* Fit both blank and printed receipts to their contents, preserving the torn edge. */
.reference-machine .receipt{min-height:0;padding-bottom:22px}

/* Align the development plan and feedback cards; retain mobile gutters. */
#support,#feedback{max-width:900px}
.support-top{flex-wrap:wrap;row-gap:14px}
.support-label{font-size:18px;line-height:1.5;padding:8px 14px}
:is(#support,#feedback) .support-stage{font-size:14px;font-weight:600;line-height:1.7}
@media(max-width:520px){
 .support-label{font-size:16px;padding:8px 12px}
 :is(#support,#feedback) .support-stage{font-size:13px}
}

/* Enlarge the scattered pieces together, including handwritten labels. */
.lab-sides>div,.lab-sides>.spare-part,.sample-sticky{scale:1.15}

/* Keep the interactive sample note behind the machine artwork. */
.reference-machine.contraption{z-index:1}

#copy-feedback{margin:12px 0 0;font-size:12px;line-height:1.7;color:#8d3d2c;overflow-wrap:anywhere}
#copy-feedback[hidden]{display:none}
/* Keep the optional contribution beside copy and share, on the same action row. */
.result-support{display:flex}
.result-support[hidden]{display:none}
.result-support-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border:1.5px solid var(--ink);border-radius:5px;background:#ead5af;color:#604b34;box-shadow:2px 2px 0 var(--ink);font-size:10px;font-weight:750;line-height:normal;text-decoration:none;white-space:nowrap}
.result-support-button:hover{background:#e1c392}
.result-support-button:focus-visible{outline:3px solid #3f7777;outline-offset:3px}
@media(max-width:520px){
 .reference-machine .receipt-actions{flex-wrap:nowrap}
 .reference-machine .receipt-actions #copy,.reference-machine .receipt-actions #share,.result-support{flex:1;min-width:0}
 .reference-machine .receipt-actions #copy,.reference-machine .receipt-actions #share,.result-support-button{font-size:12px;padding:8px 4px;min-height:44px}
 .result-support-button{width:100%;white-space:normal;text-align:center}
}


/* Lift the breakdown speech bubble toward the upper-right corner. */
.reference-machine .breakdown-sign{translate:4cqw -2cqw}
@media(max-width:520px){
 .reference-machine .breakdown-sign{translate:3.8cqw 5cqw}
}

.reference-machine .controls-carton #convert{color:#fff}

/* A quiet workshop signature, with readable credits and useful local links. */
.site-footer{position:relative;z-index:1;display:block;width:100%;max-width:none;margin:48px auto 0;padding:28px 24px 22px;background:#fffdf3;border-top:1px dashed #a38b68;color:#655b4d;font-size:12px;line-height:1.8;letter-spacing:0;text-align:left}
.footer-main{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.footer-brand{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px}
.footer-name{margin:0;font-size:18px;font-weight:750;color:#403a32}
.footer-name span{display:block;margin-top:2px;font-size:11px;font-weight:500;letter-spacing:.04em;color:#6c655a}
.footer-tagline{margin:0;font-size:12px}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 20px;max-width:430px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px;text-decoration-thickness:1px}
.footer-links a:hover{color:#3d7775}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px;padding-top:14px;border-top:1px solid #ded6c7;color:#6c655a;font-size:11px}
.footer-copyright{font-size:inherit}
@media(max-width:680px){
 .site-footer{padding:24px 16px 20px;margin-top:36px}
 .footer-main{flex-direction:column;gap:16px}
 .footer-name{font-size:18px}
 .footer-tagline{font-size:12px}
 .footer-links{justify-content:flex-start;gap:0 16px;font-size:12px}
 .footer-bottom{align-items:flex-start;gap:4px 12px;margin-top:16px}
}

/* Let footer contents span the window with the footer padding as edge spacing. */
.footer-main,.footer-bottom{max-width:none;margin-left:0;margin-right:0}
.release-help .usage-notice{text-align:center;margin:24px 0 0;font-size:14px;line-height:1.8;color:#655b4d}

/* One gentle entrance per section; existing printing and fault effects stay separate. */
@keyframes section-arrive{
 from{opacity:0;transform:translateY(18px)}
 to{opacity:1;transform:translateY(0)}
}
@keyframes workshop-arrive{from{opacity:0}to{opacity:1}}
.appearance-section.section-arriving{animation:section-arrive .55s cubic-bezier(.22,.7,.3,1) both}
#machine.section-arriving{animation-duration:.7s}
.lab-sides.section-arriving,.sample-sticky-area.section-arriving{animation-name:workshop-arrive;animation-duration:.9s}
.appearance-section.section-arriving:focus-within{animation:none}
@media(prefers-reduced-motion:reduce){
 .appearance-section.section-arriving{animation:none}
}
.growth-log>summary{display:grid;grid-template-columns:22px minmax(0,1fr) 22px;align-items:center;gap:8px;min-height:48px;padding:12px 16px;border:1.5px dashed #a38b68;border-radius:4px;background:#fff9e8;cursor:pointer;list-style:none}
.growth-log>summary::-webkit-details-marker{display:none}
.growth-log>summary h3{grid-column:2;margin:0;text-align:center}
.growth-log>summary .growth-toggle{grid-column:3;margin:0;text-align:center}
.growth-toggle{flex:none;font-size:22px;line-height:1}
.growth-toggle:before{content:'＋'}
.growth-log[open] .growth-toggle:before{content:'−'}
.growth-log>summary:focus-visible{outline:3px solid #438d9a;outline-offset:3px}
.growth-log[open]>ol{margin-top:20px}

/* A clearer share label and a tighter gap below the achievement slip. */
.share-heading .share-sticker{font-size:15px}
.reference-machine .waste-report{margin-bottom:10px;padding-bottom:9px}

/* Analytics controls stay inside the collapsed footer settings. */
.analytics-settings{margin:16px 0 0;max-width:900px;font-size:13px;line-height:1.8}
.analytics-settings summary{cursor:pointer}
.analytics-settings p{margin:10px 0}
.analytics-actions{display:flex;gap:10px;flex-wrap:wrap}
.analytics-actions button{font:inherit;cursor:pointer;min-height:44px;padding:7px 12px;border:1px solid #79542c;border-radius:5px;background:#fff8ea;color:#3f342b}
.analytics-actions button[data-analytics-consent="granted"]{background:#f1d485}
