:root{
  --bg:#1c1c1e;
  --bg-deep:#141416;
  --bg-soft:#202124;
  --panel:#242427;
  --panel-2:#2b2c30;
  --panel-3:#323338;
  --ink:#f6f2e8;
  --ink-soft:#e4ded2;
  --muted:#aaa59d;
  --faint:#77736d;
  --line:rgba(246,242,232,.10);
  --line-gold:rgba(212,175,87,.28);
  --gold:#d4af57;
  --gold-2:#e7c56b;
  --bronze:#b08a4a;
  --red:#c9706c;
  --green:#8fb69a;
  --shadow:0 24px 80px rgba(0,0,0,.34);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg-deep)}
body{
  margin:0;min-height:100vh;color:var(--ink);font-family:var(--sans);
  background:
    radial-gradient(circle at 50% -10%,rgba(212,175,87,.075),transparent 30%),
    linear-gradient(180deg,#1d1d20 0%,#18181b 55%,#141416 100%);
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,black,transparent 72%);
}
::selection{background:rgba(212,175,87,.28);color:#fff}
a{color:inherit}
button,input,textarea,select{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid rgba(231,197,107,.62);outline-offset:2px}
.shell{width:min(1160px,calc(100% - 38px));margin-inline:auto}

/* Navigation */
.nav-wrap{
  position:sticky;top:0;z-index:30;
  background:rgba(24,24,27,.86);backdrop-filter:blur(20px) saturate(120%);
  border-bottom:1px solid var(--line);
}
.nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:max-content}
.brand-mark{width:42px;height:50px;display:block;background:url('/logo-crest.png') center/contain no-repeat;filter:drop-shadow(0 7px 16px rgba(0,0,0,.28))}
.brand>span:last-child{font:600 27px/1 var(--serif);letter-spacing:-.025em;color:var(--ink)}
.nav-links{display:flex;align-items:center;gap:7px}
.nav-links a,.nav-ghost{border:0;background:none;text-decoration:none;color:#b6b1aa;padding:10px 11px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:500}
.nav-links a:hover,.nav-ghost:hover{color:var(--ink);background:rgba(255,255,255,.04)}
.nav-create{color:#dcc47f}.text-action{width:100%;border:0;background:none;color:#cdb879;text-align:left;padding:11px 0 0;cursor:pointer;font-size:11px}.text-action:hover{color:#efd994}.auth-fineprint{color:#847f78!important;font-size:10px!important;line-height:1.55!important;margin:11px 0 0!important}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:11px 15px;color:var(--ink);background:rgba(255,255,255,.025);text-decoration:none;font-weight:650;font-size:13px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.btn:hover{transform:translateY(-1px);border-color:rgba(212,175,87,.34);background:rgba(255,255,255,.045)}
.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}
.btn-primary{color:#211c13;border-color:#d5ad51;background:linear-gradient(135deg,#e6c66f,#c89c47);box-shadow:0 9px 28px rgba(176,138,74,.14)}
.btn-primary:hover{background:linear-gradient(135deg,#eed486,#d1a958);box-shadow:0 12px 34px rgba(176,138,74,.2)}
.btn-small{padding:8px 11px;font-size:12px}
.btn-danger{color:#efb4ae;border-color:rgba(201,112,108,.30);background:rgba(201,112,108,.06)}

/* Hero */
.hero{padding:82px 0 46px;text-align:center;position:relative}
.hero-mark{display:block;width:102px;height:126px;object-fit:contain;margin:0 auto 18px;filter:drop-shadow(0 22px 38px rgba(0,0,0,.32))}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--gold-2);font-size:10px;letter-spacing:.17em;text-transform:uppercase;font-weight:750}
.eyebrow:before,.eyebrow:after{content:"";width:30px;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,87,.55))}
.eyebrow:after{transform:scaleX(-1)}
h1,h2,h3{font-family:var(--serif);margin:0;font-weight:600}
.hero h1{font-size:clamp(48px,6.5vw,78px);line-height:.92;letter-spacing:-.045em;max-width:900px;margin:18px auto 24px;text-wrap:balance}
.hero h1 span{display:block}
.hero h1 span+span{margin-top:.08em}
.hero p{max-width:720px;margin:0 auto;color:#b9b4ac;font-size:16px;line-height:1.75}
.hero-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:29px}

/* Sections */
.section{padding:38px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}
.section-head h2{font-size:34px;letter-spacing:-.018em}
.section-head p{margin:6px 0 0;color:var(--muted);font-size:13px}

/* Challenge board */
.quest-board{position:relative;border:1px solid var(--line-gold);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.01)),#232326;box-shadow:var(--shadow);overflow:hidden}
.quest-board:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 0,rgba(212,175,87,.08),transparent 28%),linear-gradient(90deg,transparent 0,rgba(255,255,255,.01) 50%,transparent 100%)}
.quest-board:after{content:"";position:absolute;left:30px;right:30px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.5}
.quest-top{position:relative;padding:29px 30px 25px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:28px}
.quest-kicker{display:flex;align-items:center;gap:9px;color:#d8bd84;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:750}
.state-dot{width:7px;height:7px;border-radius:50%;background:var(--faint);box-shadow:0 0 0 5px rgba(255,255,255,.035)}
.state-dot.open{background:var(--green);box-shadow:0 0 0 5px rgba(143,182,154,.08)}
.state-dot.upcoming{background:var(--gold);box-shadow:0 0 0 5px rgba(212,175,87,.08)}
.state-dot.closed{background:var(--red);box-shadow:0 0 0 5px rgba(201,112,108,.07)}
.quest-top h2{font-size:clamp(31px,4vw,46px);letter-spacing:-.022em;margin:8px 0 8px;max-width:730px}
.quest-intro{color:#b9b3ac;line-height:1.65;max-width:720px;margin:0;font-size:13px}
.quest-meta{text-align:right;min-width:175px;align-self:center}
.quest-meta strong{display:block;font:600 27px/1 var(--serif);color:#ead7a8}
.quest-meta span{display:block;color:#8d877f;font-size:10px;margin-top:7px;line-height:1.35}
.writer-brief-head{position:relative;padding:17px 30px 0;display:flex;align-items:end;justify-content:space-between;gap:18px}
.writer-brief-head>div:first-child{display:grid;gap:4px}
.writer-brief-head strong{font:600 14px/1.3 var(--serif);color:#ddd3c2}
.writer-status{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:7px 10px;color:#aaa39a;background:rgba(255,255,255,.018);font-size:10px;white-space:nowrap}
.writer-status.submitted{color:#d9c58f;border-color:rgba(212,175,87,.28);background:rgba(212,175,87,.055)}
.constraints-column{min-width:0}
.constraint-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}
.constraint-title-row .constraint-label{margin-bottom:0}
.constraint-title-row small{color:#77726c;font-size:10px}
.brief-rules{position:relative;display:flex;flex-wrap:wrap;gap:8px;padding:0 30px 18px}
.brief-rules span{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(246,242,232,.08);background:rgba(255,255,255,.015);border-radius:8px;padding:7px 9px;color:#8f8981;font-size:10px}
.brief-rules span:before{content:'·';color:var(--gold);font-weight:900}
.quest-body{position:relative;padding:26px 30px 29px;display:grid;grid-template-columns:1.15fr .85fr;gap:25px}
.constraint-label{color:#88837c;text-transform:uppercase;letter-spacing:.115em;font-size:9px;font-weight:800;margin-bottom:9px}
.trope-row{display:flex;flex-wrap:wrap;gap:8px}
.trope-chip{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 11px;border:1px solid rgba(212,175,87,.28);background:rgba(212,175,87,.065);color:#e8d9b9;font-size:11px;font-weight:650}
.trope-chip:before{content:"✦";font-size:8px;color:var(--gold)}
.trope-chip.forbidden{border-color:rgba(201,112,108,.28);background:rgba(201,112,108,.055);color:#e6b3af}
.trope-chip.forbidden:before{content:"×";font-size:13px;color:var(--red)}
.constraint-block+.constraint-block{margin-top:20px}
.twist-card{height:100%;padding:18px;border:1px solid rgba(212,175,87,.22);border-radius:13px;background:rgba(15,15,17,.23);box-shadow:inset 0 0 30px rgba(212,175,87,.025)}
.twist-card strong{font:600 19px/1 var(--serif);display:block;margin-bottom:9px;color:#eee5d6}
.twist-card p{color:#b9b3ac;line-height:1.65;margin:0;font-size:12px}
.quest-footer{position:relative;padding:17px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;background:rgba(0,0,0,.08)}
.quest-stats{display:flex;gap:18px;flex-wrap:wrap;color:#88837c;font-size:11px}
.quest-stats b{color:#d8d1c6}

/* How it works */
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.how-card{border:1px solid var(--line);border-radius:14px;padding:21px;background:rgba(255,255,255,.018);min-height:180px}
.how-n{font:600 33px/1 var(--serif);color:rgba(212,175,87,.58)}
.how-card h3{font-size:20px;margin:13px 0 7px}
.how-card p{color:#9d9891;font-size:12px;line-height:1.65;margin:0}
.manifesto{margin:34px 0 20px;padding:29px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(212,175,87,.045),rgba(255,255,255,.012));display:grid;grid-template-columns:1fr 1fr;gap:30px}
.manifesto h2{font-size:30px}
.manifesto p{color:#aaa49d;line-height:1.7;margin:9px 0 0;font-size:13px}
.rule-list{display:grid;gap:10px;align-content:center}
.rule{display:flex;gap:10px;color:#b9b4ac;font-size:12px;line-height:1.55}
.rule:before{content:"✦";color:var(--gold);font-size:9px;margin-top:3px}

/* Generic pages */
.page-hero{padding:54px 0 26px}
.page-hero h1{font-size:clamp(40px,6vw,64px);line-height:.98;letter-spacing:-.036em;margin:10px 0}
.page-hero p{max-width:740px;color:var(--muted);line-height:1.7;margin:0}
.back-link{display:inline-flex;gap:7px;align-items:center;color:#918c85;font-size:12px;text-decoration:none;margin-bottom:14px}
.back-link:hover{color:var(--ink)}
.entries-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:31px 0 14px}
.entries-head h2{font-size:29px}
.entries-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.entry-card{border:1px solid var(--line);background:rgba(255,255,255,.018);border-radius:13px;padding:19px;text-decoration:none;transition:.16s ease}
.entry-card:hover{transform:translateY(-2px);border-color:rgba(212,175,87,.30);background:rgba(255,255,255,.03);box-shadow:0 12px 30px rgba(0,0,0,.16)}
.entry-card h3{font-size:22px;margin-bottom:9px}
.entry-meta{display:flex;gap:12px;flex-wrap:wrap;color:#858079;font-size:10px}
.entry-meta .anon{color:#b1aaa2}
.entry-meta .mine{color:#e0c580;font-weight:700}
.empty{padding:38px;border:1px dashed rgba(246,242,232,.12);border-radius:14px;text-align:center;color:#938e87;background:rgba(255,255,255,.008)}
.empty strong{display:block;color:#dcd5ca;font:600 22px/1 var(--serif);margin-bottom:7px}

/* Editor */
.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;padding-bottom:64px}
.editor-card,.sidebar-card,.story-paper,.profile-card,.legal-card,.account-note{border:1px solid var(--line);border-radius:16px;background:#222225}
.editor-card{overflow:hidden;box-shadow:0 18px 55px rgba(0,0,0,.18)}
.editor-toolbar{padding:14px 17px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;color:#8d8881;font-size:10px;text-transform:uppercase;letter-spacing:.07em}
.editor-title{width:100%;border:0;border-bottom:1px solid var(--line);outline:0;background:#252529;color:var(--ink);font:600 34px/1.15 var(--serif);padding:22px 23px 17px}
.editor-title::placeholder{color:#77736e}
.editor-body{width:100%;min-height:570px;resize:vertical;border:0;outline:0;background:#202023;color:#e6e0d6;font:17px/1.82 Georgia,"Times New Roman",serif;padding:23px}
.editor-body::placeholder{color:#77736e}
.editor-foot{border-top:1px solid var(--line);padding:14px 17px;display:flex;justify-content:space-between;align-items:center;gap:14px;background:#252529}
.word-count{font-size:12px;color:#c0bbb3}
.word-count.under{color:#a69e91}
.word-count.over{color:#efa8a1}
.sidebar-card{padding:19px;position:sticky;top:94px;height:max-content;background:#222225}
.sidebar-card h3{font-size:21px;margin-bottom:14px}
.mini-note{margin-top:17px;border-top:1px solid var(--line);padding-top:14px;color:#88837c;font-size:10px;line-height:1.55}
.ai-note{margin-top:12px;border:1px solid rgba(143,182,154,.18);border-radius:10px;background:rgba(143,182,154,.04);color:#9faea2;padding:11px;font-size:10px;line-height:1.5}
.field{display:grid;gap:7px;margin-top:18px}
.field label{font-size:10px;font-weight:700;color:#99938b}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:10px;background:#1b1b1e;color:var(--ink);padding:11px 12px;outline:0}
.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(212,175,87,.44)}

/* Story */
.story-wrap{width:min(840px,calc(100% - 38px));margin:0 auto 65px}
.story-paper{min-width:0;max-width:100%;padding:clamp(28px,5vw,54px);background:linear-gradient(180deg,#252528,#212124);box-shadow:0 20px 70px rgba(0,0,0,.22);overflow:hidden}
.story-title{font-size:clamp(42px,7vw,69px);line-height:.96;letter-spacing:-.034em;margin:15px 0 10px}
.story-byline{color:#918b84;font-size:11px;margin-bottom:34px}
.story-byline a{color:#d9c89f}
.story-body{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:#e1dbd1;font:17px/1.85 Georgia,"Times New Roman",serif}
.story-actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:37px;padding-top:18px}
.owner-pill{display:inline-flex;align-items:center;border:1px solid rgba(212,175,87,.22);border-radius:999px;padding:7px 10px;color:#d9c184;background:rgba(212,175,87,.05);font-size:10px;font-weight:700}
.vote-panel{margin-top:14px;padding:22px;border:1px solid rgba(212,175,87,.18);border-radius:14px;background:rgba(212,175,87,.035)}
.vote-panel h3{font-size:22px}
.vote-panel p{color:#9e9890;font-size:11px;line-height:1.6;margin:6px 0 14px}
.vote-actions{display:flex;gap:8px;flex-wrap:wrap}
.vote-btn{border:1px solid var(--line);border-radius:9px;background:#202023;color:#d8d1c7;padding:9px 11px;cursor:pointer;font-weight:650;font-size:11px}
.vote-btn:hover{border-color:rgba(212,175,87,.34);color:#f1dfb1}
.vote-panel.owner-vote-note{border-color:var(--line);background:rgba(255,255,255,.018)}

/* Profile */
.profile-head{display:flex;align-items:center;gap:18px;margin-top:12px}
.avatar{width:66px;height:66px;border:1px solid rgba(212,175,87,.28);border-radius:50%;display:grid;place-items:center;background:rgba(212,175,87,.07);font:600 31px/1 var(--serif);color:#ead49c}
.profile-head h1{margin:0}
.account-note{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;margin:0 0 18px;background:linear-gradient(135deg,rgba(212,175,87,.055),rgba(255,255,255,.015))}.account-note.secured{border-color:rgba(143,182,154,.22);background:linear-gradient(135deg,rgba(143,182,154,.045),rgba(255,255,255,.012))}.account-note h3{font-size:23px;margin:8px 0 5px}.account-note p{margin:0;color:#9f9991;font-size:11px;line-height:1.6}.account-note p strong{color:#d9d1c5;font-weight:600}
.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:24px}
.stat{border:1px solid var(--line);border-radius:13px;padding:17px;background:rgba(255,255,255,.018)}
.stat strong{display:block;font:600 26px/1 var(--serif);color:#ead49c}
.stat span{display:block;color:#817c75;font-size:9px;text-transform:uppercase;letter-spacing:.09em;margin-top:7px}

/* Legal */
.legal{width:min(780px,calc(100% - 38px));margin:0 auto 65px}
.legal-card{padding:28px;background:#222225}
.legal-card h2{font-size:25px;margin:22px 0 7px}.legal-card h2:first-child{margin-top:0}
.legal-card p{color:#aaa49c;font-size:13px;line-height:1.75;margin:0}

/* Modal / toast */
.modal-backdrop{position:fixed;inset:0;z-index:60;background:rgba(10,10,12,.78);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}
.modal{width:min(470px,100%);border:1px solid rgba(212,175,87,.22);border-radius:17px;background:#252529;padding:24px;box-shadow:var(--shadow)}
.modal h2{font-size:30px;margin:8px 0}.modal>p{color:#aaa49c;font-size:12px;line-height:1.65;margin:0}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
.toast{position:fixed;left:50%;bottom:24px;z-index:90;transform:translateX(-50%);max-width:min(520px,calc(100% - 28px));border:1px solid rgba(212,175,87,.24);border-radius:10px;background:#29292d;color:#eee9df;padding:11px 14px;box-shadow:0 14px 40px rgba(0,0,0,.34);font-size:12px}
.loading{padding:100px 20px;text-align:center;color:#9b958e}

/* Footer */
.footer{margin-top:56px;border-top:1px solid var(--line);background:rgba(13,13,15,.38)}
.footer-row{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#77736d;font-size:10px}
.footer-links{display:flex;gap:16px}.footer-links a{text-decoration:none}.footer-links a:hover{color:#c8c1b6}

@media (max-width:900px){
  .how-grid{grid-template-columns:repeat(2,1fr)}
  .quest-body,.manifesto{grid-template-columns:1fr}
  .editor-layout{grid-template-columns:1fr}.sidebar-card{position:static}
  .quest-meta{text-align:left}.quest-top{align-items:flex-start}.entries-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .shell{width:min(100% - 24px,1160px)}
  .nav{min-height:64px}.brand-mark{width:32px;height:32px}.brand>span:last-child{font-size:23px}
  .nav-links{gap:2px}.nav-links a{display:none}.nav-links a:last-child{display:inline-flex}.nav-ghost{padding-inline:6px}
  .hero{padding:55px 0 28px}.hero-mark{width:60px;height:74px}.hero h1{font-size:clamp(48px,15vw,69px)}
  .section{padding:28px 0}.section-head h2{font-size:29px}
  .quest-top{padding:23px 20px 20px;display:grid;gap:18px}.quest-body{padding:21px 20px}.quest-footer{padding:16px 20px;align-items:stretch;flex-direction:column}.quest-footer .btn{width:100%}
  .how-grid{grid-template-columns:1fr}.how-card{min-height:0}.manifesto{padding:22px}
  .page-hero{padding:38px 0 20px}.editor-body{min-height:480px;padding:18px}.editor-title{padding:18px;font-size:30px}.editor-foot{align-items:flex-start;flex-direction:column}.editor-foot .btn{width:100%}
  .account-note{align-items:flex-start;flex-direction:column}.account-note .btn{width:100%}.profile-stats{grid-template-columns:1fr}.profile-head{align-items:flex-start}.story-wrap,.legal{width:calc(100% - 24px)}
  .story-paper{padding:26px 20px}.footer-row{padding:18px 0;flex-direction:column;align-items:flex-start;justify-content:center}
}

/* V2.4.2 flow polish */
.editor-page-hero{padding:30px 0 18px}
.editor-page-hero .back-link{margin-bottom:10px}
.editor-page-hero h1{font-size:clamp(34px,4.7vw,52px);line-height:1;letter-spacing:-.028em;margin:8px 0 7px;max-width:900px}
.editor-page-hero p{font-size:13px;line-height:1.55}
.story-page-hero{padding:26px 0 10px}
.story-page-hero .back-link{margin-bottom:0}
.profile-page-hero{padding:38px 0 22px}

.vote-panel{margin-top:18px;padding:27px;border-color:rgba(212,175,87,.24);background:linear-gradient(145deg,rgba(212,175,87,.055),rgba(255,255,255,.014))}
.vote-heading h3{font-size:30px;margin:9px 0 7px}
.vote-heading p{max-width:680px;color:#b2aca4;font-size:13px;line-height:1.65;margin:0 0 19px}
.vote-heading p strong{color:#e7d5aa}
.vote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.vote-option{appearance:none;width:100%;min-height:156px;border:1px solid rgba(246,242,232,.12);border-radius:13px;background:#202023;color:var(--ink);padding:17px;text-align:left;cursor:pointer;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;column-gap:12px;transition:.16s ease}
.vote-option:hover{transform:translateY(-2px);border-color:rgba(212,175,87,.42);background:#252529;box-shadow:0 12px 30px rgba(0,0,0,.16)}
.vote-option.selected{border-color:rgba(212,175,87,.62);background:linear-gradient(145deg,rgba(212,175,87,.12),rgba(212,175,87,.045));box-shadow:inset 0 0 0 1px rgba(212,175,87,.08)}
.vote-icon{grid-row:1/3;font-size:25px;line-height:1;color:var(--gold-2);padding-top:1px}
.vote-copy{display:grid;gap:7px;align-content:start}
.vote-copy strong{font:600 20px/1.05 var(--serif);color:#f0eadf}
.vote-copy small{font-size:11px;line-height:1.5;color:#99938c;font-weight:450}
.vote-state{grid-column:2;margin-top:13px;justify-self:start;border:1px solid rgba(212,175,87,.22);border-radius:999px;padding:6px 9px;color:#d7c38e;background:rgba(212,175,87,.05);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.vote-option.selected .vote-state{color:#211c13;background:linear-gradient(135deg,#e6c66f,#c89c47);border-color:#d5ad51}
.owner-vote-note{padding:22px 24px}

.profile-story-status{color:#969088}
.profile-story-status.active{color:#e0c580;font-weight:700}
.profile-story-card .entry-meta{align-items:center}

@media (max-width:900px){
  .vote-grid{grid-template-columns:1fr}
  .vote-option{min-height:118px}
}
@media (max-width:640px){
  .editor-page-hero{padding:24px 0 14px}
  .story-page-hero{padding:20px 0 8px}
  .vote-panel{padding:20px}
  .vote-heading h3{font-size:26px}
}
.story-page-hero{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.story-nav-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.story-context{color:#8e8982;font-size:11px}


/* V2.4.4 stories browser + reversible voting */
.stories-page-hero{padding-bottom:24px}
.stories-page-hero h1{max-width:830px}
.stories-page-hero p{max-width:760px}
.stories-browser{padding-bottom:64px}
.entry-challenge{display:block;color:#d8bd77;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px}
.entry-state{display:inline-flex;width:max-content;border:1px solid var(--line);border-radius:999px;padding:4px 7px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;margin-bottom:11px;color:#928d86}
.entry-state.open{color:#d8bd77;border-color:rgba(212,175,87,.28);background:rgba(212,175,87,.05)}
.entry-state.closed{color:#aaa49b}
.vote-option.selected:hover{border-color:rgba(222,188,100,.78);background:linear-gradient(145deg,rgba(212,175,87,.16),rgba(212,175,87,.06))}
.vote-option.selected .vote-state{white-space:nowrap}
@media (max-width:640px){
  .stories-page-hero{padding-bottom:16px}
  .nav-links .nav-stories{display:inline-flex}
}

/* V2.5 lifecycle, archive, results and account controls */
.state-dot.writing{background:var(--green);box-shadow:0 0 0 5px rgba(143,182,154,.08)}
.state-dot.voting{background:var(--gold);box-shadow:0 0 0 5px rgba(212,175,87,.10)}
.state-dot.results{background:#a99dba;box-shadow:0 0 0 5px rgba(169,157,186,.08)}
.entry-state.voting{color:#d8bd77;border-color:rgba(212,175,87,.28);background:rgba(212,175,87,.05)}
.entry-state.results{color:#bbb2c7;border-color:rgba(169,157,186,.22);background:rgba(169,157,186,.05)}
.archive-sections{padding-bottom:70px}.archive-group{margin:0 0 42px}.archive-grid{display:grid;gap:18px}
.sealed-entries{margin:24px 0 46px;border:1px solid rgba(212,175,87,.2);border-radius:16px;background:linear-gradient(145deg,rgba(212,175,87,.055),rgba(255,255,255,.012));padding:34px;text-align:center}
.sealed-icon{font-size:30px;color:var(--gold-2);margin-bottom:10px}.sealed-entries h2{font-size:34px;margin:0 0 8px}.sealed-entries p{max-width:700px;margin:0 auto;color:#aaa49c;line-height:1.7}.sealed-entries .hero-actions{justify-content:center;margin-top:20px}
.results-panel{margin:26px 0 34px;border:1px solid rgba(212,175,87,.22);border-radius:16px;padding:28px;background:linear-gradient(145deg,rgba(212,175,87,.07),rgba(255,255,255,.015))}.results-panel h2{font-size:34px;margin:7px 0 16px}
.winner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.winner-card{border:1px solid rgba(255,255,255,.08);background:#1d1d20;border-radius:13px;padding:18px;display:grid;gap:8px}.winner-icon{font-size:24px;color:var(--gold-2)}.winner-card>strong{font:600 20px/1 var(--serif)}.winner-card a{display:grid;gap:3px;color:#eee7db;text-decoration:none;border-top:1px solid rgba(255,255,255,.06);padding-top:10px;margin-top:3px}.winner-card a:hover span{color:var(--gold-2)}.winner-card small{color:#928c84;font-size:10px;line-height:1.4}
.editor-actions{display:flex;gap:9px;align-items:center}.sealed-owner-note{margin:16px 0 0;padding:10px 12px;border:1px solid rgba(212,175,87,.18);background:rgba(212,175,87,.05);border-radius:9px;color:#c6b686;font-size:11px}
.profile-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-actions{display:flex;gap:8px;flex-wrap:wrap}.trophy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:38px}.trophy-card{display:flex;gap:13px;align-items:flex-start;border:1px solid rgba(212,175,87,.18);background:linear-gradient(145deg,rgba(212,175,87,.055),rgba(255,255,255,.012));border-radius:13px;padding:16px;text-decoration:none}.trophy-card:hover{border-color:rgba(212,175,87,.4);transform:translateY(-1px)}.trophy-icon{font-size:24px}.trophy-card div{display:grid;gap:3px}.trophy-card strong{color:#eee6d8}.trophy-card span{color:#c4bcae;font-size:12px}.trophy-card small{color:#88827a;font-size:9px;line-height:1.4}
.settings-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;padding-bottom:70px}.settings-card{border:1px solid var(--line);border-radius:15px;background:#1b1b1e;padding:24px}.settings-card h2{font-size:28px;margin:0 0 13px}.settings-card p{color:#aaa49b;line-height:1.65}.settings-card .btn+.btn{margin-left:8px}.danger-zone{grid-column:1/-1;border-color:rgba(201,112,108,.22)}
@media(max-width:900px){.winner-grid,.trophy-grid{grid-template-columns:1fr}.profile-stats{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}}
@media(max-width:680px){.editor-actions{width:100%;flex-direction:column}.editor-actions .btn{width:100%}.sealed-entries{padding:24px 18px}.results-panel{padding:20px}.profile-stats{grid-template-columns:1fr}.settings-card .btn+.btn{margin-left:0;margin-top:8px}.settings-card .btn{width:100%}}


/* V2.5.1 AI transparency + FAQ */
.ai-disclosure{display:inline-flex;align-items:center;width:max-content;border:1px solid rgba(255,255,255,.10);border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.065em;color:#aaa49b;background:rgba(255,255,255,.025);white-space:nowrap}
.ai-disclosure.none{color:#a9c4ae;border-color:rgba(143,182,154,.22);background:rgba(143,182,154,.055)}
.ai-disclosure.brainstorming{color:#d9c78f;border-color:rgba(212,175,87,.22);background:rgba(212,175,87,.055)}
.ai-disclosure.proofreading{color:#c2b7d2;border-color:rgba(169,157,186,.24);background:rgba(169,157,186,.06)}
.story-disclosure-row{display:flex;gap:8px;align-items:center;margin:10px 0 0}
.entry-meta .ai-disclosure{margin-left:1px}
.ai-note{margin-top:8px;color:#8f8982;font-size:10px;line-height:1.55}
.how-more{display:flex;justify-content:center;margin-top:18px}
.faq-page{width:min(940px,calc(100% - 38px))}
.faq-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px}
.faq-steps .how-card{min-height:190px}
.faq-list{display:grid;gap:9px}
.faq-list details{border:1px solid var(--line);border-radius:12px;background:#1c1c1f;padding:0 18px}
.faq-list summary{cursor:pointer;list-style:none;padding:17px 28px 17px 0;font:600 18px/1.25 var(--serif);color:#eee7db;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:0;top:14px;color:var(--gold-2);font:400 24px/1 var(--sans)}
.faq-list details[open] summary::after{content:'−'}
.faq-list p{margin:0;padding:0 0 17px;color:#aaa49c;font-size:12px;line-height:1.75}
@media(max-width:900px){.faq-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.faq-page{width:calc(100% - 24px)}.faq-steps{grid-template-columns:1fr}.faq-steps .how-card{min-height:0}.ai-disclosure{white-space:normal;line-height:1.35}}

/* V2.5.2 clickable challenge cards + archive tabs */
.quest-board-clickable{cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease,background .16s ease}
.quest-board-clickable:hover{border-color:rgba(212,175,87,.34);transform:translateY(-2px);box-shadow:0 18px 46px rgba(0,0,0,.18)}
.quest-board-clickable:focus-visible{outline:2px solid var(--gold-2);outline-offset:4px}
.quest-board-clickable .quest-top h2{transition:color .16s ease}
.quest-board-clickable:hover .quest-top h2{color:#f3dfaa}
.challenge-archive-hero{padding-bottom:24px}
.archive-tabs-wrap{padding-bottom:72px}
.archive-tabs{display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:26px;overflow-x:auto;scrollbar-width:none}
.archive-tabs::-webkit-scrollbar{display:none}
.archive-tab{appearance:none;border:1px solid rgba(255,255,255,.09);background:#1b1b1e;color:#a49e96;border-radius:999px;padding:10px 15px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer;font:750 11px/1 var(--sans);letter-spacing:.035em;transition:.16s ease}
.archive-tab:hover{color:#eee7db;border-color:rgba(212,175,87,.3);background:#202023}
.archive-tab span{display:grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.055);font-size:9px;color:#8f8981}
.archive-tab.active{color:#211c13;border-color:#d6b158;background:linear-gradient(135deg,#e2c36d,#bf9344);box-shadow:0 8px 22px rgba(0,0,0,.16)}
.archive-tab.active span{background:rgba(24,20,14,.13);color:#2a2217}
.archive-tab-panel{display:none}
.archive-tab-panel.active{display:block;animation:archiveFade .18s ease}
.archive-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.archive-panel-head h2{font-size:32px;margin:0 0 5px}
.archive-panel-head p{margin:0;color:#948e86;font-size:12px;line-height:1.55}
@keyframes archiveFade{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:640px){.challenge-archive-hero{padding-bottom:18px}.archive-tabs{margin-bottom:20px}.archive-tab{padding:9px 12px}.archive-panel-head h2{font-size:28px}.quest-board-clickable:hover{transform:none}}
@media(max-width:760px){
  .writer-brief-head{align-items:flex-start;flex-direction:column;padding:16px 20px 0}
  .writer-status{white-space:normal}
  .constraint-title-row{align-items:flex-start;flex-direction:column;gap:3px}
  .brief-rules{padding:0 20px 16px}
}
\n\n/* V2.5.5 readability polish */\n.nav-links a,.nav-ghost{font-size:14px}\n.text-action{font-size:12px}\n.auth-fineprint{font-size:11px!important}\n.eyebrow{font-size:11px}\n.section-head p{font-size:14px}\n.quest-kicker{font-size:11px}\n.quest-intro{font-size:14px}\n.quest-meta span{font-size:11px}\n.writer-brief-head strong{font-size:15px}\n.writer-status{font-size:11px}\n.constraint-title-row small{font-size:11px}\n.brief-rules span{font-size:11px}\n.constraint-label{font-size:10px}\n.trope-chip{font-size:12px}\n.twist-card p{font-size:13px}\n.quest-stats{font-size:12px}\n.how-card p{font-size:13px}\n.rule{font-size:13px}\n.back-link{font-size:13px}\n.entry-meta{font-size:11px}\n.editor-toolbar{font-size:11px}\n.word-count{font-size:13px}\n.mini-note{font-size:11px}\n.ai-note{font-size:11px}\n.field label{font-size:11px}\n.story-byline{font-size:12px}\n.owner-pill{font-size:11px}\n.vote-panel p{font-size:12px}\n.vote-btn{font-size:12px}\n.account-note p{font-size:12px}\n.stat span{font-size:10px}\n.modal>p{font-size:13px}\n.toast{font-size:13px}\n.footer-row{font-size:11px}\n.story-context{font-size:12px}\n.entry-challenge{font-size:10px}\n.entry-state{font-size:9px}\n.winner-card small{font-size:11px}\n.trophy-card small{font-size:10px}\n.ai-disclosure{font-size:9px}\n.faq-list p{font-size:13px}\n.archive-tab{font-size:12px}\n.archive-tab span{font-size:10px}\n.archive-panel-head p{font-size:13px}\n