:root{--ink: #14161a;--ink-soft: #454b55;--ink-mute: #767d89;--paper: #f4f2ec;--paper-2: #fffdf8;--line: #ddd8cb;--line-strong: #c4bda9;--accent: #ff4d8d;--accent-ink: #b1004a;--blue: #2f6bff;--green: #12b886;--amber: #f59f00;--violet: #7c5cff;--shadow: 0 1px 0 rgba(20, 22, 26, .04), 0 8px 28px -18px rgba(20, 22, 26, .45);--radius: 14px;--font-sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Mono", Consolas, "Courier New", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--ink);background-color:var(--paper);background-image:radial-gradient(rgba(20,22,26,.055) 1px,transparent 1px);background-size:22px 22px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}button:disabled{cursor:not-allowed;opacity:.55}.shell{max-width:1440px;margin:0 auto;padding:20px clamp(12px,3vw,32px) 72px;min-width:0}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0 18px;border-bottom:1px solid var(--line);margin-bottom:clamp(20px,3vw,36px)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#ff9a3d);display:grid;place-items:center;font-size:17px;box-shadow:0 4px 14px -6px #ff4d8de6}.brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.brand-title{font-weight:700;font-size:15px;letter-spacing:.02em}.brand-sub{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.topbar-spacer{flex:1 1 auto}.topbar-actions{display:flex;gap:8px;flex-wrap:wrap}.x-link{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--line-strong);background:var(--paper-2);color:var(--ink);font-size:17px;line-height:1;text-decoration:none;transition:transform .12s ease,box-shadow .16s ease,background .16s ease,color .16s ease,border-color .16s ease}.x-link:hover{transform:translateY(-1px);background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:var(--shadow)}.x-link:active{transform:translateY(0)}.x-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 15px;border-radius:10px;border:1px solid var(--line-strong);background:var(--paper-2);color:var(--ink);font-size:13.5px;font-weight:600;white-space:nowrap;transition:transform .12s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;min-width:0}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow);border-color:var(--ink-mute)}.btn:active:not(:disabled){transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-primary:hover:not(:disabled){background:#000}.btn-accent{background:linear-gradient(135deg,var(--accent),#ff7a3d);color:#fff;border-color:transparent;box-shadow:0 10px 24px -14px #ff4d8d}.btn-ghost{background:transparent;border-color:transparent;color:var(--ink-soft);padding:7px 9px}.btn-ghost:hover:not(:disabled){background:#14161a0f;box-shadow:none;transform:none}.btn-sm{padding:6px 10px;font-size:12px;border-radius:8px}.btn-icon{padding:6px 8px;font-size:13px;border-radius:8px;line-height:1}.hero{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);gap:clamp(20px,3vw,46px);align-items:start;margin-bottom:clamp(22px,3vw,34px)}.hero-copy{min-width:0}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:var(--paper-2);margin-bottom:18px}.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #12b8862e}.hero h1{font-size:clamp(30px,4.4vw,56px);line-height:1.12;letter-spacing:-.025em;margin:0 0 16px;font-weight:800;overflow-wrap:break-word;word-break:break-word}.hero h1 em{font-style:normal;background:linear-gradient(180deg,transparent 62%,rgba(255,77,141,.34) 62%);padding:0 2px}.hero-lead{font-size:clamp(14px,1.15vw,16px);color:var(--ink-soft);max-width:46ch;margin:0 0 20px;overflow-wrap:break-word}.hero-stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.stat{border:1px solid var(--line);background:var(--paper-2);border-radius:10px;padding:8px 12px;min-width:92px}.stat-num{font-family:var(--font-mono);font-size:17px;font-weight:700;line-height:1.2}.stat-label{font-size:11px;color:var(--ink-mute);letter-spacing:.04em}.console{background:var(--paper-2);border:1px solid var(--line-strong);border-radius:18px;box-shadow:var(--shadow);padding:clamp(14px,1.6vw,20px);min-width:0}.console-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px dashed var(--line)}.console-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}.control-group{margin-bottom:16px;min-width:0}.control-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ink-soft);margin-bottom:8px}.control-hint{font-weight:400;font-size:11.5px;color:var(--ink-mute)}.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:7px}.mode-btn{text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 10px;min-width:0;transition:border-color .15s ease,background .15s ease,transform .12s ease}.mode-btn:hover{border-color:var(--ink-mute);transform:translateY(-1px)}.mode-btn[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}.mode-btn-name{font-size:12.5px;font-weight:700;line-height:1.3}.mode-btn-desc{font-size:10.5px;color:var(--ink-mute);line-height:1.35;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mode-btn[aria-pressed=true] .mode-btn-desc{color:#ffffffb3}.spice-row{display:flex;align-items:center;gap:12px}input[type=range].spice{-webkit-appearance:none;appearance:none;flex:1 1 auto;min-width:0;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--amber),var(--accent));outline:none}input[type=range].spice::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:2.5px solid var(--ink);box-shadow:0 2px 8px -2px #0006;cursor:grab}input[type=range].spice::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2.5px solid var(--ink);cursor:grab}.spice-value{font-family:var(--font-mono);font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--ink);color:#fff;white-space:nowrap}.spice-desc{font-size:11.5px;color:var(--ink-mute);margin-top:8px;min-height:2.6em}.cat-grid{display:flex;flex-wrap:wrap;gap:6px}.cat-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:600;white-space:nowrap;transition:all .14s ease}.cat-chip:hover{border-color:var(--ink-mute)}.cat-chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.lock-row{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px dashed var(--line-strong);border-radius:10px;background:#14161a05;font-size:12px;color:var(--ink-soft);min-width:0}.lock-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--ink);flex:0 0 auto;cursor:pointer}.lock-name{font-family:var(--font-mono);font-size:11.5px;color:var(--accent-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.generate-btn{width:100%;padding:15px 20px;border-radius:12px;font-size:15.5px;font-weight:800;letter-spacing:.02em;background:linear-gradient(120deg,#14161a,#2a1f3d 52%,#431d33);color:#fff;box-shadow:0 16px 34px -20px #14161ae6;margin-top:4px;transition:transform .14s ease,box-shadow .2s ease,filter .2s ease}[data-mode]:not([data-mode=serious]) .generate-btn{background:linear-gradient(120deg,var(--ink) 0%,#241a2e 55%,var(--accent) 175%);box-shadow:0 16px 34px -18px var(--accent)}.generate-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 22px 40px -20px #14161ad9}.generate-btn-secondary{width:100%;margin-top:8px;padding:10px;border-radius:10px;border:1px dashed var(--line-strong);font-size:12.5px;font-weight:600;color:var(--ink-soft);background:transparent}.generate-btn-secondary:hover:not(:disabled){border-color:var(--ink-mute);color:var(--ink)}.stage{min-width:0}.empty-state{border:1.5px dashed var(--line-strong);border-radius:18px;padding:clamp(28px,5vw,64px) clamp(18px,3vw,40px);text-align:center;background:linear-gradient(180deg,#fffdf8b3,#f4f2ec66)}.empty-title{font-size:clamp(17px,2vw,22px);font-weight:800;margin:0 0 8px}.empty-text{color:var(--ink-mute);font-size:13.5px;margin:0 auto 20px;max-width:42ch}.empty-samples{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;text-align:left;max-width:760px;margin:0 auto}.sample-card{border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:#fff}.sample-name{font-weight:700;font-size:13.5px;margin-bottom:3px}.sample-desc{font-size:11.5px;color:var(--ink-mute);line-height:1.5}.proposal{border:1px solid var(--line-strong);border-radius:18px;background:var(--paper-2);box-shadow:var(--shadow);overflow:hidden;min-width:0}.proposal-top{padding:clamp(16px,2vw,24px);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(20,22,26,.035),transparent);min-width:0}.proposal-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}.tag{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;padding:3px 8px;border-radius:6px;background:#14161a0f;color:var(--ink-soft);white-space:nowrap}.tag-mode{color:#fff;background:var(--ink)}.tag-id{background:#2f6bff1a;color:var(--blue);user-select:all}.tag-spice{background:#ff4d8d1f;color:var(--accent-ink)}.proposal-name{font-size:clamp(23px,2.9vw,34px);line-height:1.2;font-weight:800;letter-spacing:-.02em;margin:0 0 8px;overflow-wrap:break-word;word-break:break-word}.proposal-tagline{font-size:clamp(13.5px,1.35vw,16px);color:var(--accent-ink);font-weight:600;margin:0;overflow-wrap:break-word}.proposal-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.proposal-body{padding:clamp(14px,2vw,22px);display:grid;gap:12px;min-width:0}.field{border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0;transition:border-color .16s ease,box-shadow .16s ease}.field:hover{border-color:var(--line-strong)}.field-head{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line);min-width:0}.field-label{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-actions{display:flex;gap:4px;flex:0 0 auto}.field-body{padding:12px 14px;font-size:14px;color:var(--ink);overflow-wrap:break-word;word-break:break-word;min-width:0}.field-body p{margin:0}.field-list{margin:0;padding-left:20px;display:grid;gap:7px}.field-list li{overflow-wrap:break-word;word-break:break-word;padding-left:2px}.field-quote{margin:0;padding:10px 12px;border-left:3px solid var(--accent);background:#ff4d8d0e;border-radius:0 8px 8px 0;font-size:14px;overflow-wrap:break-word}.tweet-box{margin:0;font-family:var(--font-sans);font-size:13.5px;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;background:#14161a09;border:1px dashed var(--line-strong);border-radius:10px;padding:11px 12px;line-height:1.7}.metrics-box{border:1px solid rgba(245,159,0,.4);background:#f59f000f;border-radius:12px;padding:12px 14px;min-width:0}.metrics-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.06em;color:#8a5a00;margin-bottom:7px}.metrics-note{font-size:11.5px;color:#7a5b16;margin:0 0 9px;line-height:1.55}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.metric{background:#ffffffb8;border:1px solid rgba(245,159,0,.3);border-radius:8px;padding:7px 9px;font-size:12px;color:#6b4d0a;overflow-wrap:break-word}.field-row-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.angle-list{display:grid;gap:8px}.angle{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;min-width:0}.angle-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.angle-title{font-size:12.5px;font-weight:700}.angle-hint{font-size:11px;color:var(--ink-mute);flex:1 1 auto}.angle-text{font-size:12.5px;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;color:var(--ink-soft);background:#14161a08;border-radius:8px;padding:8px 10px;margin:0;font-family:var(--font-sans)}.drawer-backdrop{position:fixed;inset:0;background:#14161a6b;backdrop-filter:blur(2px);z-index:60;display:flex;justify-content:flex-end}.drawer{width:min(520px,100%);height:100%;background:var(--paper-2);border-left:1px solid var(--line-strong);display:flex;flex-direction:column;min-width:0;animation:slide-in .22s ease-out}@keyframes slide-in{0%{opacity:0}to{opacity:1}}.drawer-head{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}.drawer-title{font-size:15px;font-weight:800;flex:1 1 auto}.drawer-body{flex:1 1 auto;overflow-y:auto;padding:14px 16px 32px;min-height:0}.history-item{border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#fff;margin-bottom:9px;min-width:0;transition:border-color .15s ease}.history-item.is-current{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}.history-name{font-weight:700;font-size:13.5px;display:flex;align-items:center;gap:6px;overflow-wrap:break-word}.history-tagline{font-size:11.5px;color:var(--ink-mute);margin:2px 0 7px;overflow-wrap:break-word}.history-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-bottom:8px}.history-actions{display:flex;gap:5px;flex-wrap:wrap}.star{color:var(--amber)}.modal-backdrop{position:fixed;inset:0;background:#14161a8c;backdrop-filter:blur(3px);z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}.modal{background:var(--paper-2);border-radius:16px;border:1px solid var(--line-strong);width:min(560px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 30px 70px -30px #0009;min-width:0}.modal-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}.modal-title{font-size:14.5px;font-weight:800;flex:1 1 auto;min-width:0}.modal-body{padding:14px 16px;overflow-y:auto;min-height:0;min-width:0}.poster-preview{width:100%;height:auto;display:block;border-radius:10px;border:1px solid var(--line);background:#111}.poster-wrap{display:grid;gap:12px}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:9px;overflow:hidden}.seg button{padding:6px 12px;font-size:12px;font-weight:600;color:var(--ink-soft)}.seg button[aria-pressed=true]{background:var(--ink);color:#fff}.toast-stack{position:fixed;left:50%;bottom:22px;transform:translate(-50%);display:grid;gap:8px;z-index:90;width:min(440px,calc(100vw - 24px));pointer-events:none}.toast{pointer-events:none;display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:11px;font-size:13px;font-weight:600;background:var(--ink);color:#fff;box-shadow:0 18px 36px -20px #000c;animation:toast-in .2s ease-out;overflow-wrap:break-word}.toast-ok{background:#0f5132}.toast-warn{background:#7a4b00}@keyframes toast-in{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.footer{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:11.5px;color:var(--ink-mute)}.footer a{color:var(--ink-soft);text-decoration:none;border-bottom:1px dotted var(--line-strong)}.footer-link{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--ink-soft);border-bottom:1px dotted var(--line-strong);padding-bottom:1px;transition:color .14s ease,border-color .14s ease}.footer-link:hover{color:var(--ink);border-bottom-color:var(--ink)}.disclaimer{display:flex;gap:8px;align-items:flex-start;font-size:11.5px;line-height:1.6;color:var(--ink-mute);background:#14161a08;border:1px dashed var(--line-strong);border-radius:10px;padding:10px 12px;margin-top:16px;overflow-wrap:break-word}@media (max-width: 1080px){.hero{grid-template-columns:minmax(0,1fr)}.console{position:static}}@media (max-width: 720px){.shell{padding:12px 12px 96px}.field-row-2{grid-template-columns:minmax(0,1fr)}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:clamp(26px,8vw,36px)}.proposal-actions{position:sticky;bottom:0}.drawer{width:100%}.toast-stack{bottom:76px}}.mobile-bar{display:none}@media (max-width: 720px){.mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#fffdf8f0;backdrop-filter:blur(10px);border-top:1px solid var(--line-strong)}.mobile-bar .btn{flex:1 1 0;padding:12px 10px;font-size:13.5px;justify-content:center;min-width:0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-mode=spoof]{--accent: #ff4d8d;--accent-ink: #b1004a}[data-mode=corporate]{--accent: #2f6bff;--accent-ink: #1a4bd8}[data-mode=indie]{--accent: #12b886;--accent-ink: #0b7a58}[data-mode=ai]{--accent: #7c5cff;--accent-ink: #5b3ddb}[data-mode=netculture]{--accent: #ff8a00;--accent-ink: #b35f00}[data-mode=serious]{--accent: #1f2937;--accent-ink: #111827}[data-mode=serious] body,[data-mode=serious]{background-image:none;background-color:#f7f7f5}[data-mode=serious] .hero h1 em{background:none;text-decoration:underline;text-decoration-thickness:6px;text-decoration-color:#1f293729;text-underline-offset:6px}[data-mode=serious] .brand-mark,[data-mode=serious] .generate-btn{background:#1f2937;box-shadow:none}[data-mode=serious] .generate-btn:hover:not(:disabled){filter:none;background:#000}[data-mode=serious] .btn-accent{background:#1f2937;box-shadow:none}[data-mode=serious] .tag,[data-mode=serious] .tag-spice,[data-mode=serious] .tag-id,[data-mode=serious] .tag-mode{background:#ececea;color:#374151;border:1px solid #dcdcd8;font-family:var(--font-sans);letter-spacing:.02em}[data-mode=serious] .tag-mode{background:#1f2937;color:#fff;border-color:#1f2937}[data-mode=serious] .proposal-tagline{color:#1f2937;font-weight:500}[data-mode=serious] .proposal-top{background:#fbfbf9}[data-mode=serious] .field-quote{border-left-color:#9ca3af;background:#f3f3f1}[data-mode=serious] .metrics-box{border-color:#d9d2c2;background:#faf8f3}[data-mode=serious] .metrics-title,[data-mode=serious] .metrics-note,[data-mode=serious] .metric{color:#6b5a2e}[data-mode=serious] .empty-state{background:#fbfbf9}[data-mode=serious] .eyebrow-dot{background:#1f2937;box-shadow:0 0 0 3px #1f293724}[data-mode=serious] .proposal-name{letter-spacing:-.012em}[data-mode=serious] .field-label{letter-spacing:.05em;text-transform:none;font-size:12.5px;color:#4b5563}
