:root{font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif;color:#243d38;background:#f3f5f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{border:1px solid #d2dcd5;border-radius:12px;background:#fff;color:#243d38;padding:13px 18px;cursor:pointer;touch-action:manipulation;min-height:46px}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #be8e2b;outline-offset:3px}input{border:1px solid #cad6cd;border-radius:10px;background:#fafbf9;padding:13px;width:100%;margin-top:9px;min-height:48px}label{display:block;font-weight:650;font-size:14px}h1{font-size:clamp(26px,3.5vw,40px);line-height:1.4;letter-spacing:-1.3px;margin:15px 0}h2{font-size:22px;letter-spacing:-.6px;margin:12px 0 20px}p{line-height:1.8}small,.hint{font-size:13px;color:#6a7b71}.app{max-width:1120px;margin:auto;padding:22px 32px}header{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid #dce3db}.brand{display:flex;gap:10px;align-items:center;font-size:19px;font-weight:750;color:inherit;text-decoration:none}.brand small{font-size:12px;font-weight:500;border-left:1px solid #c8d3ca;padding-left:12px}.logo{color:#b38f36;font-size:30px}.version{font-size:12px;color:#728075}.intro{display:flex;justify-content:space-between;align-items:center;padding:36px 8px 24px}.eyebrow,.section-label{font-size:11px;font-weight:750;letter-spacing:1.7px;color:#69816d}.intro p{color:#66796d;font-size:15px}.intro-art{position:relative;width:260px;height:190px;background:#e8ede3;border-radius:50%}.intro-art span{position:absolute}.art-circle{width:100px;height:100px;background:#dfb94c;border-radius:50%;left:25px;top:25px}.art-square{width:76px;height:76px;background:#397a67;border-radius:10px;right:30px;bottom:20px;transform:rotate(-10deg)}.art-small{width:35px;height:35px;border:2px solid #93ac96;border-radius:50%;right:48px;top:25px}.setup-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.card{border:1px solid #dce3da;background:#fff;border-radius:20px;padding:26px;margin-bottom:20px;box-shadow:0 5px 24px #233b2303}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.hint{line-height:1.7}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}.primary{background:#244f43;border-color:#244f43;color:#fff;font-weight:700}.secondary{background:#edf2e9}.notice{padding:14px;background:#fff5df;border:1px solid #ecdfbe;border-radius:12px;line-height:1.6;font-size:14px}.notice.ok{background:#eaf3e9;border-color:#cddfc9}.checklist{list-style:none;padding:0;line-height:2.4;color:#5c7161;font-size:14px}.error{padding:14px;margin:16px 0;background:#fff0ea;border:1px solid #ebc5b6;border-radius:12px;color:#973f25;overflow-wrap:anywhere}summary{cursor:pointer;font-size:17px;font-weight:700;min-height:30px}summary span{font-size:12px;font-weight:400;color:#6a7b71;margin-left:12px}.audio-list{margin-top:15px}.audio-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e9eee7}.audio-row>span{flex:1;font-size:12px;overflow-wrap:anywhere}.audio-row small{font-weight:400}.file-button{position:relative;overflow:hidden;background:#edf2e9;border-radius:9px;padding:13px;cursor:pointer;min-width:85px}.file-button input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.review-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.review-list p{border-top:1px solid #e2e8df;padding:10px;font-size:13px}.section-heading,.record{display:flex;justify-content:space-between;align-items:center;gap:15px}.record{padding:15px 0;border-top:1px solid #e7ebe4}.record small{display:block;margin-top:6px}.center{max-width:850px;margin:60px auto;padding:55px 40px;text-align:center}.center .actions{justify-content:center}.stats{display:flex;justify-content:center;gap:65px;margin:30px}.stats div{font-size:13px;color:#718172}.stats strong{display:block;font-size:35px;color:#244f43;margin-bottom:8px}.effort{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin:35px 0 14px}.effort button{height:70px;font-size:25px}.anchors{display:flex;justify-content:space-between;font-size:12px;color:#6a7b71}.task{margin-top:24px;padding:22px}.task-top{display:flex;align-items:center;gap:18px;font-size:13px}.progress{height:5px;border-radius:5px;flex:1;background:#e5ebe1;overflow:hidden}.progress i{display:block;height:100%;background:#397a67}.task-status{text-align:center;padding:14px 0}.task-status h2{margin:10px 0;font-size:23px}.task-status p{font-size:13px;color:#718172;margin:4px}.tokens{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.token{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;height:clamp(66px,12vh,110px);background:#fbfcf9;border:1.5px solid #dce4d7;padding:4px}.token:disabled{opacity:1}.token.selected{background:#e8f1e6;border:2px solid #397a67}.shape{display:block;pointer-events:none}.shape.large{width:clamp(38px,7vh,65px);height:clamp(38px,7vh,65px)}.shape.small{width:clamp(24px,4.4vh,40px);height:clamp(24px,4.4vh,40px)}.circle{border-radius:50%}.square{border-radius:3px}.white{border:2px solid #94a494}.order{position:absolute;right:7px;top:5px;border-radius:50%;width:23px;height:23px;background:#397a67;color:#fff;font-size:12px;line-height:23px}.stop{display:block;font-size:12px;padding:9px 14px;min-height:42px;margin:16px 0 0 auto;color:#7b8072}.task~footer{margin-top:0}footer{font-size:11px;color:#849082;padding:4px 2px 18px;display:flex;justify-content:space-between;gap:15px}@media(max-width:800px){.app{padding:16px}.setup-grid{grid-template-columns:1fr}.intro-art{width:190px;transform:scale(.85)}.brand small{display:none}.review-list{grid-template-columns:1fr}.card{padding:20px}.center{margin:30px auto}.audio-row{flex-wrap:wrap}}@media(max-height:700px)and (orientation:landscape){.app{padding-top:10px}.task{margin-top:12px;padding:15px}.task-status{padding:5px 0}.task-status h2{font-size:20px}.token{height:11vh}.tokens{gap:7px}.stop{margin-top:8px}header{padding-bottom:8px}footer{padding-bottom:8px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}}
