:root{--bg:#fbfbfd;--ink:#1d1d1f;--muted:#6e6e73;--line:#d2d2d7;--blue:#0071e3;--blue-dark:#0077ed;--card:#fff;--radius:18px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,"Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
button{font:inherit;cursor:pointer;border:0}
a{color:inherit;text-decoration:none}
.shell{max-width:1024px;margin:auto;padding:0 22px 24px}

/* 顶部导航 · Apple极简 */
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:48px;margin:0 -22px;padding:0 22px;background:rgba(251,251,253,.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.brand{display:flex;gap:8px;align-items:center;font-weight:600;font-size:14px;letter-spacing:-.01em;color:var(--ink)}
.brand-mark{display:grid;place-items:center;background:none;color:var(--ink);width:auto;height:auto;border-radius:0;font-size:13px}
.top-actions{display:flex;align-items:center;gap:14px}
.privacy-pill{font-size:12px;color:#86868b;display:flex;align-items:center;gap:6px}
.privacy-pill i,.status-dot{width:6px;height:6px;border-radius:50%;background:#34c759;display:inline-block}
.lang-btn{color:#424245;background:none;font-size:12px;font-weight:400}
.lang-btn:hover{color:var(--ink)}
.site-nav{display:flex;gap:22px;background:none;border-radius:0;padding:0}
.site-nav a{font-size:12px;font-weight:400;color:#424245;padding:4px 0;border-radius:0;opacity:.9}
.site-nav a:hover{color:var(--ink)}
.site-nav a.active{background:none;color:var(--ink);box-shadow:none;opacity:1}

/* 首页 hero · Apple极简居中 */
.hero{min-height:0;margin-top:0;padding:72px 0 44px;background:none;color:var(--ink);border-radius:0;display:block;text-align:center;overflow:visible;position:relative;max-width:720px;margin-left:auto;margin-right:auto}
.hero-copy{max-width:640px;margin:0 auto;z-index:1}
.eyebrow{color:#6e6e73;font-size:12px;font-weight:600;letter-spacing:.08em;margin:0 0 12px}
.hero h1{font-size:clamp(40px,5.2vw,56px);line-height:1.07;letter-spacing:-.03em;font-weight:600;margin:0 0 14px;color:#1d1d1f}
.hero h1 em{font-style:normal;color:inherit}
.subhead{color:#6e6e73;line-height:1.5;font-size:17px;max-width:600px;margin:0 auto}
.upload-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px;flex-wrap:wrap}
.primary,.secondary,.capsule-white{border-radius:980px;padding:12px 28px;font-weight:500;font-size:15px;line-height:1}
.primary{background:var(--blue);color:#fff}
.primary:hover{background:var(--blue-dark)}
.secondary{background:none;color:#06c;border:0;padding:12px 16px}
.secondary:hover{text-decoration:underline}
.capsule-white{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.capsule-white:hover{background:#f5f5f7;border-color:#c7ccd6;text-decoration:none}
.primary span:first-child{font-size:15px;vertical-align:0;margin-right:4px;font-weight:400}
#exportBar .primary,#exportBar .capsule-white{display:inline-flex;align-items:center;gap:8px}
#exportBar .primary span:first-child{margin-right:0}
.drop-hint{font-size:12px;color:#86868b;margin-top:16px}
.notice{font-size:12px;color:#c4502e;font-weight:600;margin-top:10px}
.debug-log{font-size:11px;line-height:1.7;color:#1d1d1f;background:#f5f5f7;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-top:10px;max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-all;text-align:left}
.hero-art{display:none}

/* 首页功能卡 */
.features{margin:34px 0 10px}
.features h2{font-size:11px;font-weight:800;letter-spacing:.16em;color:#9a9da5;margin:0 0 14px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px 22px;display:flex;flex-direction:column;gap:10px}
.feature-card h3{font-size:15px;margin:0;letter-spacing:-.01em}
.feature-card p{font-size:12px;line-height:1.7;color:var(--muted);margin:0;flex:1}
.feature-card .go{align-self:flex-start;background:#f0f1f5;border-radius:9px;padding:9px 14px;font-size:12px;font-weight:700;color:var(--ink)}
.feature-card .go:hover{background:#e6e8ee}

/* 播放页工作区 */
.workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:18px;margin-top:26px}
.viewer-panel,.info-panel{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.panel-title{display:flex;align-items:center;height:55px;padding:0 18px;justify-content:space-between;font-size:13px;font-weight:700}
.panel-title>div{display:flex;align-items:center;gap:9px}
.icon-btn{background:none;font-size:25px;color:#999}
.stage{aspect-ratio:3/4;max-width:360px;width:100%;margin:14px auto;background:#101115;position:relative;display:grid;place-items:center;overflow:hidden;border-radius:14px;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;max-width:none;max-height:none;z-index:1;opacity:1;-webkit-user-drag:none;transition:opacity .3s ease;will-change:opacity}
.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:0;opacity:1;transform:scale(1);pointer-events:none;transition:transform .3s ease;will-change:transform;-webkit-user-drag:none}
.stage.is-live img{opacity:0}
.stage.is-live video{transform:scale(1.1)}
.stage-empty{color:#696c77;font-size:13px}
/* 左上实况徽标 · iOS 风格磨砂 */
.live-badge{position:absolute;top:12px;left:12px;z-index:2;display:flex;align-items:center;gap:6px;padding:6px 12px 6px 9px;border-radius:980px;background:rgba(0,0,0,.38);-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);color:#fff;font-size:14px;font-weight:600;line-height:1;pointer-events:auto;cursor:pointer;white-space:nowrap}
.live-badge svg{width:16px;height:16px;display:block;flex-shrink:0}
.live-badge svg path{fill:#fff;fill-opacity:1}
.viewer-footer{display:flex;align-items:center;height:58px;padding:0 18px;gap:16px}
.play-control{background:none;font-weight:700;font-size:12px}
.format-chip{font-size:10px;background:#f0f1f3;color:#666;padding:5px 8px;border-radius:6px}
.footer-note{font-size:11px;color:#9a9da5;margin-left:auto}
.info-panel{padding-bottom:16px}
.info-tabs{display:flex;align-items:center;height:55px;border-bottom:1px solid var(--line);gap:21px;padding:0 18px}
.tab{background:none;color:#999;height:55px;font-size:12px;font-weight:700;position:relative}
.tab.active{color:var(--ink)}
.tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--blue)}
.tab-content{padding:22px 20px}
.tab-content h3{font-size:13px;margin:0 0 15px}
.file-list{display:flex;flex-direction:column}
.file-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #f0f1f2;padding:10px 0;font-size:12px}
.file-icon{width:27px;height:27px;border-radius:7px;background:#e8f2ff;color:var(--blue);display:grid;place-items:center;font-size:11px;font-weight:800;flex-shrink:0}
.file-name{word-break:break-all;flex:1}
.file-size{margin-left:auto;color:#aaa;font-size:10px;flex-shrink:0}
.muted{color:#9a9da5;font-size:11px;line-height:1.6}
.tab-content dl{margin:0}
.tab-content dt{color:#999;font-size:10px;margin-top:13px}
.tab-content dd{margin:4px 0 0;font-size:12px;word-break:break-all}
.export-btn{display:block;width:100%;text-align:left;background:#f5f6f8;border-radius:9px;padding:11px 12px;margin:8px 0;font-size:12px;font-weight:700}
.export-btn:disabled{opacity:.45;cursor:not-allowed}

/* 合成页 */
.dropbox{margin-top:26px;border:2px dashed #c7ccd6;border-radius:20px;background:#fff;padding:44px 24px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.dropbox:hover{border-color:var(--blue)}
.dropbox:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.dropbox.dragging{border-color:var(--blue);background:#f0f6ff;transform:scale(1.005)}
.drop-icon{font-size:34px;line-height:1;color:var(--blue)}
.drop-title{font-size:17px;font-weight:700;margin:12px 0 6px;letter-spacing:-.01em}
.drop-sub{font-size:13px;color:var(--muted);margin:0 0 18px;line-height:1.6}
.dropbox .upload-actions{margin-top:0}
.dropbox .notice{max-width:560px;margin-left:auto;margin-right:auto}
.build-zone{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:18px;margin-top:26px}
.pair-list{display:flex;flex-direction:column;gap:14px}
.pvt-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:14px}
.pvt-head{display:flex;align-items:center;gap:10px}
.pvt-head strong{font-size:13px;flex:1;min-width:0;word-break:break-all}
.pvt-del{background:none;color:#999;font-size:12px;padding:6px 4px}
.pvt-del:hover{color:#c4502e}
.pvt-slots{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.slot{border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.slot-label{font-size:11px;font-weight:700;color:#666}
.slot-preview{min-height:140px;max-height:260px;background:#f5f5f7;border-radius:10px;overflow:hidden;display:grid;place-items:center;color:#86868b;font-size:12px;padding:8px}
.slot-preview img{max-width:100%;max-height:200px;width:auto;height:auto;object-fit:contain;display:block;background:transparent}
.slot-preview video{max-width:100%;max-height:200px;width:auto;height:auto;object-fit:contain;display:block;background:#000;border-radius:6px}
.slot-preview .heic-loading{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--blue);font-size:12px;font-weight:600}
.slot-preview .heic-spinner{width:22px;height:22px;border:2px solid #dbe6ff;border-top-color:var(--blue);border-radius:50%;animation:heicSpin .8s linear infinite}
@keyframes heicSpin{to{transform:rotate(360deg)}}
.slot-preview.slot-empty{border:1.5px dashed var(--line);background:none;font-size:22px;color:#c5c8cf}
.slot-name{font-size:11px;line-height:1.5;color:#86868b;word-break:break-all;min-height:32px}
.slot-actions{display:flex;gap:8px;align-items:center}
.mini-btn{background:#f0f1f5;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:600;color:var(--ink)}
.mini-btn:hover{background:#e4e6eb}
.mini-btn.danger{background:none;color:#c4502e;padding:8px 4px}
.convert-badge{font-size:10px;font-weight:700;color:var(--blue);background:#e8f2ff;border-radius:6px;padding:3px 8px;align-self:flex-start}
.pair-state{font-size:11px;font-weight:700;border-radius:20px;padding:6px 11px;flex-shrink:0}
.pair-state.ok{background:#e5f7ec;color:#1d8a4e}
.pair-state.warn{background:#fdeee9;color:#c4502e}
.empty-state{text-align:center;padding:62px 20px 70px;color:#858992}
.empty-icon{font-size:36px;color:#c5c8cf}
.empty-state h2{font-size:19px;color:#3b3d43;margin:10px 0}
.empty-state p{font-size:12px}
footer{display:flex;align-items:center;border-top:1px solid var(--line);margin-top:40px;padding-top:20px;color:#a0a3ab;font-size:11px;gap:18px}
footer a{color:#666}
.footer-privacy{margin-left:auto}

/* 嵌入页 */
.embed-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:18px;margin-top:26px;align-items:start}
.embed-panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}
.embed-panel h3{font-size:13px;margin:0 0 12px}
.embed-panel .muted{margin:8px 0 0}
.code-box{background:#101115;color:#d6e2d8;border-radius:12px;padding:16px;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto;white-space:pre;margin-top:10px}
.copy-btn{margin-top:10px;background:#f0f1f5;border-radius:9px;padding:9px 14px;font-size:12px;font-weight:700}
.field{margin-bottom:14px}
.field label{display:block;font-size:11px;font-weight:700;color:#666;margin-bottom:6px}
.field input[type=text]{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:13px/1.4 inherit;background:#fafbfc}
.field input[type=text]:focus{outline:2px solid #b3d7ff;border-color:var(--blue)}
.demo-stage{margin-top:14px;border-radius:14px;overflow:hidden;max-width:360px;aspect-ratio:3/4;background:#101115;display:grid;place-items:center;color:#696c77;font-size:12px}
.demo-stage img{width:100%;height:auto;display:block;object-fit:contain}
.attr-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px}
.attr-table td{padding:8px 0;border-bottom:1px solid #f0f1f2;vertical-align:top}
.attr-table code{background:#e8f2ff;color:var(--blue);border-radius:6px;padding:2px 7px;font:700 11px ui-monospace,Menlo,monospace}
.attr-table .muted{display:block;margin-top:3px}

@media(max-width:860px){
  .feature-grid,.workspace,.build-zone,.embed-grid{grid-template-columns:1fr}
  .pvt-slots{grid-template-columns:1fr}
  .shell{padding:0 16px 20px}
  .topbar{margin:0 -16px;padding:0 16px}
  .site-nav{gap:14px}
  .privacy-pill{display:none}
  .hero{padding:52px 0 32px}
  .stage{max-width:100%}
  .footer-note{display:none}
}
