:root{--ink:#13251d;--paper:#f3f0e5;--green:#1f6f4a;--lime:#c8e65a;--line:#aab0a4}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:"Songti SC","Noto Serif CJK SC",serif}body{margin:0;background-image:radial-gradient(#c7c7b8 1px,transparent 1px);background-size:20px 20px}.shell{max-width:1440px;margin:auto;min-height:100vh;border-left:1px solid var(--line);border-right:1px solid var(--line);background:rgba(243,240,229,.93)}header{height:110px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:180px 1fr 120px;align-items:center;padding:0 30px}.logo{font-size:28px;line-height:.78;font-weight:900;text-decoration:none;color:var(--ink);letter-spacing:.18em}.logo span{margin-left:20px;color:var(--green)}header p{font-size:13px;line-height:1.5;border-left:1px solid var(--line);padding-left:24px}.stamp{border:1px solid var(--ink);border-radius:50%;width:70px;height:70px;display:grid;place-content:center;text-align:center;font:700 9px/1.4 Arial;letter-spacing:.14em;transform:rotate(8deg)}main{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(350px,1.1fr);column-gap:5vw;padding:65px 5vw}.copy{align-self:end}.kicker{font:700 10px Arial;letter-spacing:.18em;text-transform:uppercase}.copy h1{font-size:clamp(48px,6vw,90px);line-height:.95;margin:18px 0 28px;font-weight:800}.copy h1 span{color:var(--green);position:relative}.copy h1 span:after{content:"";position:absolute;height:9px;background:var(--lime);left:-4px;right:-4px;bottom:5px;z-index:-1}.lead{font-size:15px;line-height:1.9;max-width:390px}.input-card{background:#fffdf5;border:1px solid var(--ink);min-height:380px;box-shadow:8px 8px 0 var(--lime);display:flex;flex-direction:column}.label-row,.section-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);font:700 11px Arial;letter-spacing:.14em}.label-row span{color:#6c756f;font-weight:400}.input-card textarea{width:100%;flex:1;min-height:260px;resize:vertical;border:0;padding:22px;background:transparent;color:var(--ink);font:16px/1.9 "Songti SC",serif;outline:none}.input-card textarea:focus{box-shadow:inset 0 0 0 3px var(--lime)}.input-foot{border-top:1px solid var(--line);padding:14px 18px;display:flex;align-items:center;justify-content:space-between}button{font:700 13px Arial;cursor:pointer}.text-btn{border:0;background:none;text-decoration:underline;color:#607066}.primary{border:0;background:var(--ink);color:white;padding:13px 18px}.primary span{color:var(--lime);margin-left:15px}.result{grid-column:1/-1;margin-top:72px;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.6fr);border-top:3px solid var(--ink);border-bottom:1px solid var(--ink)}.cloud-panel{border-right:1px solid var(--ink)}.section-head{height:54px}.section-head button{border:0;background:none;color:var(--green)}.section-head button:disabled{opacity:.35;cursor:not-allowed}.canvas-wrap{height:520px;position:relative;overflow:hidden;background:#fbf9ef}.canvas-wrap:before{content:"";position:absolute;inset:22px;border:1px dashed #c4c7bb;pointer-events:none}.canvas-wrap canvas{display:block;width:100%;height:100%;position:relative;z-index:1}.empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:10px;color:#7c827b}.empty b{font-size:24px}.empty span{font-size:12px}.ranking ol{margin:0;padding:10px 24px 30px 52px}.ranking li:not(.placeholder){padding:11px 0;border-bottom:1px solid #c7c9be;font-family:Arial,sans-serif}.ranking li::marker{font-size:10px;color:#778078}.word-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.word-row b{font-family:"Songti SC",serif;font-size:16px}.word-row i{height:5px;background:var(--lime);min-width:3px}.word-row em{font-style:normal;font-size:12px;color:#68716b}.placeholder{list-style:none;color:#838880;padding:30px 0;font-size:13px}@media(max-width:760px){.shell{border:0}header{height:86px;grid-template-columns:1fr auto;padding:0 18px}.logo{font-size:22px}header p{display:none}.stamp{width:58px;height:58px}main{display:block;padding:38px 18px}.copy{margin-bottom:32px}.copy h1{font-size:54px}.input-card{min-height:340px}.result{margin-top:55px;display:block}.cloud-panel{border-right:0;border-bottom:1px solid var(--ink)}.canvas-wrap{height:390px}}
