:root{--paper:#f6f1e7;--paper-2:#efe6d6;--ink:#493e32;--ink-soft:#7d6f60;--ochre:#d7a953;--terra:#b97052;--line:#d5c6ae;--edge:#e2d5bf}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;color:var(--ink);font:14px/1.7 "PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;background:var(--paper-2);background-image:radial-gradient(#d9cbb0 1px,transparent 1.2px);background-size:22px 22px}
[hidden]{display:none!important}
.sunny-wrap{max-width:458px;margin:0 auto;padding:0 14px 36px}
.sunny-hero{padding:22px 6px 8px;position:relative}
.sunny-hero a{color:var(--ink-soft);font-size:13px;display:inline-block;min-height:36px}
.sunny-kicker{font-size:10px;letter-spacing:.25em;margin:12px 0 5px;color:var(--ink-soft)}
.sunny-hero h1{font:700 27px/1.5 Georgia,"Songti SC",serif;margin:0 0 5px}
.sunny-hero>p:last-of-type{font-size:13px;color:var(--ink-soft);margin:0}
.sunny-wallet{display:inline-block;margin-top:12px;border:1px solid var(--line);border-radius:999px;padding:3px 12px;background:#fffaf0;font-size:12px}
.sunny-wallet b{color:var(--terra)}
.sunny-card{position:relative;margin:23px 0 0;padding:22px 18px;background:var(--paper);border:1px solid var(--edge);border-radius:20px;box-shadow:0 18px 50px #4a3a242e,0 3px 10px #4a3a241f}
.sunny-card::before{content:"";position:absolute;inset:6px;border:1px dashed #d9c9ab;border-radius:14px;pointer-events:none;opacity:.7}
.sunny-stamp{position:absolute;top:-13px;right:18px;transform:rotate(6deg);border:2px solid var(--terra);color:var(--terra);border-radius:8px;padding:2px 10px;font-size:12px;font-weight:700;letter-spacing:.1em;background:#fffaf0}
.sunny-card h2{font:700 20px/1.5 Georgia,"Songti SC",serif;margin:0 0 3px}
.sunny-sub{font-size:12px;color:var(--ink-soft);margin:0 0 4px}
button,select{font:inherit;max-width:100%}
button{cursor:pointer}
button:disabled{opacity:.6;cursor:default;box-shadow:none}
button:focus-visible,select:focus-visible,canvas:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #985336;outline-offset:2px}
.sunny-tickets{display:flex;gap:8px;margin:13px 0 4px}
.sunny-tickets button{flex:1;min-width:0;min-height:46px;font-size:12px;font-weight:600;border:1px solid var(--line);border-radius:12px;background:#fffaf0;color:var(--ink)}
.sunny-tickets button:first-child{background:#eedbb3;border-color:var(--ochre)}
.sunny-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--ink-soft);margin:12px 2px 0}
.sunny-meta b{color:#9a712a}
.sunny-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}
.sunny-tile{position:relative;aspect-ratio:1;min-width:0;overflow:hidden;border:1px solid var(--edge);border-radius:11px;background:#fffdf8}
.sunny-tile>img,.sunny-tile canvas{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.sunny-tile>img{pointer-events:none;user-select:none}
.sunny-tile canvas{cursor:crosshair;touch-action:none}
.sunny-tile .sunny-cover{width:100%;height:100%;position:absolute;inset:0;background:url(sunny-art-20261020/scratch-coat.jpg) center/cover}
.sunny-tile.is-first{outline:2px solid #aa7950;outline-offset:2px}
.sunny-tile.is-cloud{outline:2px solid var(--terra)}
.sunny-tile .sunny-hint{position:absolute;right:5px;bottom:5px;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;background:url(sunny-art-20261020/hint-base.jpg) center/cover;box-shadow:0 1px 3px #0002;font:700 14px/1 Georgia,serif;color:#6b5836}
.sunny-tile .sunny-waiting{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;color:var(--ink-soft)}
.sunny-actions{display:flex;gap:10px;margin-top:16px}
.sunny-actions button{flex:1;min-width:0;min-height:50px;border-radius:13px;font-weight:700;font-size:14px}
.sunny-primary{border:0;background:linear-gradient(160deg,#c9885f,var(--terra));color:#fff8ec;box-shadow:0 4px 0 #96543c}
.sunny-secondary{border:1px solid var(--line);background:#fffaf0;color:var(--ink)}
.sunny-status{font-size:14px;font-weight:600;color:#78571f;margin:15px 2px 0;min-height:24px;overflow-wrap:anywhere}
.sunny-note{font-size:11px;color:var(--ink-soft);margin:6px 2px 0;line-height:1.8}
.sunny-refresh{border:0;background:transparent;color:var(--ink-soft);text-decoration:underline;min-height:44px;padding:0 4px;font-size:12px}
.sunny-settle{margin-top:16px;border:1px solid var(--edge);border-radius:14px;overflow:hidden;background:#fbf6ea}
.sunny-settle>img{display:block;width:100%;max-height:170px;object-fit:cover}
.sunny-settle>div{padding:10px 13px 12px}
.sunny-settle b{font-size:15px}
.sunny-settle p{font-size:12px;color:var(--ink-soft);margin:3px 0 0}
.sunny-extra,.sunny-recovery{margin-top:14px;padding:12px;background:#fffaf0;border:1px solid var(--line);border-radius:12px}
.sunny-extra label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.sunny-extra select{display:block;width:100%;min-height:44px;padding:8px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px}
.sunny-extra button,.sunny-recovery button,.sunny-other button{width:100%;min-height:44px;margin-top:9px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);font-size:13px}
.sunny-recovery p{margin:0;font-size:12px}
.sunny-other h3{font-size:12px;color:var(--ink-soft);margin:16px 2px 0}
.sunny-rules{margin-top:14px;border-top:1px dashed var(--line);padding-top:10px;font-size:11px;color:var(--ink-soft)}
.sunny-rules summary{cursor:pointer;min-height:36px;font-size:12px;padding-top:6px}
.sunny-rules p{margin:8px 0;line-height:1.9}
@media(max-width:340px){.sunny-wrap{padding-left:10px;padding-right:10px}.sunny-card{padding:20px 14px}.sunny-grid{gap:7px}.sunny-hero h1{font-size:24px}.sunny-actions button{font-size:13px}.sunny-tickets button{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
