.sgytf-wrap{max-width:1100px;margin:18px auto;padding:0 12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.sgytf-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}
.sgytf-title{font-size:22px;font-weight:900}
.sgytf-sub{font-size:13px;opacity:.8}
.sgytf-tier{margin:18px 0}
.sgytf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.sgytf-card{display:block;text-decoration:none;color:#111;border:1px solid #e7e7e7;border-radius:18px;padding:12px 14px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.sgytf-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.12)}
.sgytf-card-title{font-weight:900;font-size:13px}
.sgytf-card-sub{margin-top:6px;font-size:12px;opacity:.85;line-height:1.25}
.sgytf-player-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px}
.sgytf-player-title{font-size:18px;font-weight:900}
.sgytf-player-sub{font-size:12px;opacity:.8}
.sgytf-actions{display:flex;gap:8px;flex-wrap:wrap}
.sgytf-btn{border:1px solid #ddd;background:#fff;border-radius:14px;padding:10px 12px;cursor:pointer;text-decoration:none;color:#111;font-size:13px}
.sgytf-btn:hover{border-color:#cfcfcf}
.sgytf-btn[disabled]{opacity:.45;cursor:default}
.sgytf-primary{background:#111;color:#fff;border-color:#111}
.sgytf-primary:hover{opacity:.92}
.sgytf-palette{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.sgytf-swatch{width:30px;height:30px;border-radius:10px;border:2px solid rgba(0,0,0,.18);cursor:pointer}
.sgytf-swatch.is-on{border-color:#111;transform:scale(1.05)}
.sgytf-stage{position:relative;border:1px solid #e7e7e7;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.06);aspect-ratio:5/6}
.sgytf-svg{position:absolute;inset:0}
.sgytf-svg svg{width:100%;height:100%;display:block}
.sgytf-base{position:relative}
.sgytf-line svg path,.sgytf-line svg line,.sgytf-line svg circle,.sgytf-line svg rect{stroke:#111;stroke-width:4;fill:none}
.sgytf-reveal{pointer-events:none;opacity:0;transition:opacity .35s ease}
.sgytf-reveal.is-on{opacity:1}
.sgytf-reveal.is-hidden{opacity:0}
.sgytf-export{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.sgytf-note{font-size:12px;opacity:.85;padding:10px 12px;border:1px dashed #e0e0e0;border-radius:14px;background:#fafafa}
