:root{--paper:#f7ecd8;--ink:#3b2a1c;--ink-soft:#8a6a52;--wash:#e2b57a;--accent:#e15b3a;--hand:"Ma Shan Zheng", "Noto Serif SC", cursive;--sans:"ZCOOL XiaoWei", "Noto Serif SC", serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--paper);min-height:100svh;margin:0}button,input{font-family:inherit}button{cursor:pointer}.stage{width:100%;min-height:100svh;position:relative;overflow:hidden}.stage canvas{width:100%;height:100svh;display:block}.stage:after{content:"";pointer-events:none;opacity:.07;background-image:radial-gradient(#3b2a1c .6px,#0000 .7px);background-size:7px 7px;position:absolute;inset:0}.title{z-index:2;text-align:center;pointer-events:none;padding:0 88px;position:absolute;top:28px;left:0;right:0}.title h1{font-family:var(--hand);letter-spacing:.28em;color:var(--ink);margin:0 0 0 .28em;font-size:clamp(36px,8vw,52px);font-weight:400}.setup-panel,.done-footer{z-index:2;background:linear-gradient(to bottom, #f7ecd800 0%, var(--paper) 48px, var(--paper) 100%);flex-direction:column;align-items:center;gap:14px;padding:52px 24px 20px;display:flex;position:absolute;bottom:0;left:0;right:0}.minutes-label{font-family:var(--hand);letter-spacing:.12em;color:var(--ink);margin:0;font-size:28px}.minutes-label span{margin-right:6px;font-size:36px}.wait-label{font-family:var(--hand);letter-spacing:.22em;color:var(--ink-soft);margin:0;font-size:22px}.slider{appearance:none;background:var(--ink);opacity:.85;border-radius:999px;outline:none;width:min(240px,70vw);height:3px;transform:rotate(-.4deg)}.slider::-webkit-slider-thumb{appearance:none;border:2.5px solid var(--ink);cursor:pointer;background:#fffaf1;border-radius:50% 46% 54% 48%;width:22px;height:22px}.slider::-moz-range-thumb{border:2.5px solid var(--ink);cursor:pointer;background:#fffaf1;border-radius:50% 46% 54% 48%;width:22px;height:22px}.btn-ink{border:2.5px solid var(--ink);color:var(--ink);font-family:var(--hand);letter-spacing:.24em;background:#fffaf1;border-radius:18px 22px 16px 20px/40px 32px 38px 34px;padding:8px 36px 10px 42px;font-size:26px;transform:rotate(-.6deg);box-shadow:3px 4px #3b2a1c2e}.btn-ink:hover{background:#f3e1c6}.btn-ink:active{transform:rotate(-.6deg)translate(1px,1px);box-shadow:1px 2px #3b2a1c2e}.done-reset{transform:rotate(-.6deg)}.done-reset:active{transform:rotate(-.6deg)translate(1px,1px)}.ad-banner{width:min(360px,92vw)}.ad-frame{background:#fffaf1b8;border:1.5px dashed #3b2a1c47;border-radius:10px 14px 8px 12px/18px 12px 16px 14px;width:100%;min-height:90px;overflow:hidden}.ad-placeholder{font-family:var(--hand);letter-spacing:.28em;color:var(--ink-soft);justify-content:center;align-items:center;font-size:18px;display:flex}.share-wrap{z-index:3;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:28px;right:16px}.share-btn{border:2px solid var(--ink);color:var(--ink);font-family:var(--hand);letter-spacing:.2em;background:#fffaf1;border-radius:14px 18px 12px 16px/32px 28px 30px 26px;padding:4px 14px 6px 18px;font-size:18px;transform:rotate(.8deg);box-shadow:2px 3px #3b2a1c29}.share-btn:hover{background:#f3e1c6}.share-btn:active{transform:rotate(.8deg)translate(1px,1px);box-shadow:1px 1px #3b2a1c29}.share-hint{font-family:var(--hand);letter-spacing:.08em;color:var(--ink-soft);margin:0;font-size:16px}@media (width<=480px){.title{top:20px}.setup-panel,.done-footer{padding:44px 20px 16px}.share-wrap{top:20px;right:12px}}
