@font-face{font-family:Jakarta;src:url('/font.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{color-scheme:light;--canvas:#FAFAFA;--surface:#FFFFFF;--rail:#FAFAFA;--raised:#EBEBED;--hairline:#EBEBED;--field:#FFFFFF;--ink:#09090B;--muted:#71717A;--faint:#71717A;--accent:#FE7E17;--on-accent:#09090B;--ok:#16A249;--err:#EF4444;--sans:Jakarta,ui-sans-serif,system-ui;--serif:var(--sans)}
*{box-sizing:border-box}body{margin:0;max-width:none;font-size:14px}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--hairline);border-radius:8px;background:var(--surface);color:var(--ink);padding:10px 15px;font-weight:600;min-height:40px;transition:background .15s,transform .15s}button:hover{background:var(--raised)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--accent);border-color:var(--accent)}.primary:hover{background:color-mix(in srgb,var(--accent) 85%,var(--surface))}.quiet{background:transparent}.small{padding:6px 10px;min-height:32px;font-size:12px}input,textarea,select{width:100%;border:1px solid var(--hairline);background:var(--field);color:var(--ink);border-radius:8px;padding:11px 12px}textarea{resize:vertical;min-height:100px}label{display:grid;gap:7px;font-weight:600;font-size:12px}label+label{margin-top:17px}h1,h2,h3,p{margin:0}h1{font-size:clamp(32px,4.6vw,58px);line-height:1.12;letter-spacing:-2px;font-weight:700;max-width:850px}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:17px;letter-spacing:-.3px}p{line-height:1.7}.muted{color:var(--muted)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.7px;font-weight:700;color:var(--muted)}.topbar{height:83px;border-bottom:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 max(24px,calc((100vw - 1220px)/2))}.brand{display:flex;align-items:center;gap:22px}.brand img{width:125px;height:auto}.brand span{border-left:1px solid var(--hairline);padding-left:22px;font-size:15px;font-weight:700}.toolbar,.row{display:flex;align-items:center;gap:10px}.toolbar select{width:190px}.shell{max-width:1268px;padding:44px 24px 60px;margin:auto}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin:26px 0 35px}.hero .eyebrow{margin-bottom:18px}.hero p{max-width:770px;margin-top:18px;font-size:15px;white-space:pre-wrap}.date{font-size:13px;color:var(--muted);margin-top:22px;display:flex;gap:16px;flex-wrap:wrap}.hero-side{min-width:170px;text-align:right;padding-top:8px}.hero-side select{margin-top:8px}.phase-strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--hairline);border-radius:12px;overflow:hidden;background:var(--surface);margin:0 0 30px}.phase{padding:16px 20px;color:var(--muted);border-right:1px solid var(--hairline);font-size:12px;display:flex;gap:10px;align-items:center}.phase:last-child{border:0}.phase b{font-size:11px;border:1px solid var(--hairline);border-radius:50%;width:23px;height:23px;display:grid;place-items:center}.phase.current{background:var(--accent-soft);color:var(--ink);font-weight:700}.phase.current b{background:var(--accent);border-color:var(--accent)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.section-head p{margin-top:6px;color:var(--muted);font-size:13px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{border:1px solid var(--hairline);border-radius:12px;background:var(--surface);padding:23px;display:flex;flex-direction:column;min-width:0}.card:hover{box-shadow:0 0 20px color-mix(in srgb,var(--accent) 8%,transparent)}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:22px}.card-index{font-size:11px;color:var(--muted);letter-spacing:1px}.card h3{margin-bottom:10px;overflow-wrap:anywhere}.card p{color:var(--muted);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.card-main{flex:1;cursor:pointer}.card-main:hover h3{text-decoration:underline;text-underline-offset:4px}.card-footer{margin-top:22px;padding-top:17px;border-top:1px solid var(--hairline);display:flex;justify-content:space-between;gap:8px;align-items:center}.members{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:18px}.avatar{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--raised);font-size:10px;font-weight:700;position:relative}.avatar.online:after{content:'';width:7px;height:7px;border-radius:50%;background:var(--ok);border:2px solid var(--surface);position:absolute;bottom:0;right:0}.badge{font-size:10px;border:1px solid var(--hairline);background:var(--canvas);color:var(--muted);padding:4px 8px;border-radius:5px}.badge.orange{background:var(--accent-soft);border-color:transparent;color:var(--ink)}.presence{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}.dot.off{background:var(--muted)}.bottom-note{margin-top:36px;border-top:1px solid var(--hairline);padding-top:21px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.empty{border:1px dashed var(--hairline);border-radius:12px;text-align:center;padding:64px 24px;background:var(--surface)}.empty h2{margin-bottom:10px}.empty p{margin-bottom:22px;color:var(--muted)}.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.auth-story{background:var(--ink);color:var(--surface);padding:60px;display:flex;flex-direction:column;justify-content:space-between}.auth-story img{width:150px;background:var(--surface);padding:8px;border-radius:4px}.auth-story h1{font-size:clamp(44px,5vw,75px);letter-spacing:-3px}.auth-story h1 span{color:var(--accent)}.auth-story p{margin-top:25px;max-width:390px;color:var(--raised)}.auth-side{display:flex;align-items:center;justify-content:center;padding:35px}.auth-form{width:100%;max-width:355px}.auth-form h2{font-size:28px;margin:14px 0}.auth-form p{margin-bottom:30px}.auth-form button[type=submit]{width:100%;margin-top:22px}.people-pick{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0;max-height:180px;overflow:auto}.error{color:var(--err);font-size:12px;margin-top:12px;min-height:18px}.loading{padding:80px;text-align:center;color:var(--muted)}dialog{width:min(640px,calc(100vw - 32px));max-height:88vh;overflow:auto;padding:30px;border:1px solid var(--hairline);border-radius:15px;background:var(--surface);color:var(--ink)}dialog::backdrop{background:color-mix(in srgb,var(--ink) 40%,transparent);backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:17px}.form-grid label{margin:0}.detail-description{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);margin:16px 0 23px}.comments{margin-top:25px;border-top:1px solid var(--hairline);padding-top:20px}.comment{margin-top:17px}.comment p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:5px}.comment small{color:var(--muted);font-size:10px;margin-left:8px}.comment-form{margin-top:20px}.comment-form textarea{min-height:70px}.winner{border:1px solid var(--accent);border-radius:14px;padding:32px;margin-bottom:28px;background:var(--accent-soft)}.winner h2{font-size:30px;margin:12px 0}.winner p{max-width:700px}.progress{margin-top:15px;font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--surface);padding:12px 22px;border-radius:9px;z-index:99;display:none;max-width:90vw}.event-option{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--hairline);gap:12px}.event-option button{text-align:left}.overview{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.link{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.picked{border-color:var(--accent);background:var(--accent-soft)}
@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding:0 24px}.brand span{display:none}.toolbar select{width:145px}.hero-side{min-width:150px}.phase{padding:13px 10px}.auth-story{padding:38px}}
@media(max-width:650px){.topbar{height:auto;min-height:72px;padding:16px;flex-wrap:wrap}.brand img{width:105px}.toolbar{gap:6px}.toolbar select{width:130px;font-size:12px}.toolbar button{padding:8px;font-size:11px}.shell{padding:23px 16px 40px}.hero{display:block;margin-top:20px}.hero-side{text-align:left;display:flex;align-items:center;gap:10px;margin-top:22px}.hero-side select{width:150px;margin:0}h1{letter-spacing:-1.5px}.grid{grid-template-columns:1fr}.phase{display:flex;flex-direction:column;gap:7px;padding:12px 3px;font-size:10px}.phase b{width:21px;height:21px}.section-head{align-items:flex-start}.auth{grid-template-columns:1fr}.auth-story{padding:28px;min-height:330px}.auth-story h1{font-size:44px;margin-top:40px;letter-spacing:-2px}.auth-story p{margin-top:16px;font-size:13px}.auth-story .eyebrow{display:none}.auth-side{padding:35px 25px}.bottom-note{display:block}.bottom-note span{display:block;margin-bottom:8px}.form-grid{grid-template-columns:1fr}dialog{padding:22px}.overview{align-items:flex-start;gap:15px}.presence{flex-wrap:wrap;justify-content:flex-end}.card{padding:21px}}
/* Keep idea titles in the participant's own casing. */
h3,.card h3{text-transform:none;color:var(--ink);letter-spacing:-.3px}

/* Quantfolio × hacker workbench: brand orange, dark zinc, terminal metadata. */
:root{color-scheme:dark;--canvas:#09090B;--surface:#18181B;--rail:var(--canvas);--raised:color-mix(in srgb,#EBEBED 12%,#09090B);--hairline:color-mix(in srgb,#EBEBED 20%,#09090B);--field:var(--canvas);--ink:#FAFAFA;--muted:color-mix(in srgb,#EBEBED 68%,#09090B);--faint:var(--muted);--accent-soft:color-mix(in srgb,#FE7E17 10%,#09090B);--on-accent:#09090B;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
body{background:var(--canvas);background-image:radial-gradient(color-mix(in srgb,var(--ink) 9%,transparent) .65px,transparent .65px);background-size:24px 24px}
button,input,textarea,select,.card,.empty,.phase-strip,.winner,dialog,.badge{border-radius:4px}
button{font-weight:600}button:hover{border-color:var(--muted)}.primary,.primary:hover{color:var(--on-accent)}
input,textarea,select{border-color:color-mix(in srgb,var(--ink) 42%,var(--canvas))}
input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,[role=button]:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:none}
.topbar{background:var(--canvas);border-bottom-color:var(--hairline);height:78px}.brand span{font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:-.4px}.brand span::before{content:'~/';color:var(--accent);margin-right:3px}
.eyebrow,.card-index,.badge,.presence,.date,.phase,.hero-side label,.bottom-note,.progress,.avatar{font-family:var(--mono)}
.eyebrow{letter-spacing:1px;font-size:10px}.overview>.eyebrow::before,.hero .eyebrow::before{content:'// ';color:var(--accent)}
.shell{padding-top:30px}.hero{margin:28px 0 34px;padding:26px 0 12px}.hero h1{font-size:clamp(34px,4.4vw,58px);font-weight:650;letter-spacing:-2px}.hero-side select{border-color:var(--accent);font-family:var(--mono);font-size:12px}
.phase-strip{background:var(--canvas)}.phase{font-size:11px;padding:16px}.phase b{border-radius:3px;color:var(--muted);border-color:var(--hairline);font-weight:400}.phase.current{box-shadow:inset 0 -2px var(--accent);color:var(--accent)}.phase.current b{color:var(--on-accent);font-weight:700}
.card{background:var(--surface);box-shadow:none;position:relative;transition:border-color .15s,transform .15s}.card:hover{border-color:var(--accent);box-shadow:none;transform:translateY(-2px)}.card-top{border-bottom:1px dashed var(--hairline);padding-bottom:15px;margin-bottom:20px}.card-index::before{content:'> ';color:var(--accent)}.card h3{font-size:19px;font-weight:650}.card-main:hover h3{text-decoration-color:var(--accent)}.badge{background:var(--canvas);font-size:9px}.badge.orange{color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}.avatar{border-radius:4px;background:var(--raised);border:1px solid var(--hairline)}.card-footer button{font-family:var(--mono);font-size:11px}.picked{color:var(--accent);border-color:var(--accent)}.progress{border-left:2px solid var(--accent);padding-left:10px;line-height:1.7}
.winner{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 55%,var(--canvas));border-left:3px solid var(--accent)}.winner .eyebrow{color:var(--accent)}.winner h2{letter-spacing:-1px}.winner p{color:var(--muted)}
.empty{background:var(--surface)}.bottom-note{font-size:10px;background:var(--canvas);padding-bottom:12px}.section-head h2{font-size:22px}.section-head p{max-width:780px}.dot,.avatar.online:after{background:var(--accent)}.dot.off{background:var(--muted)}
.auth{background:var(--canvas)}.auth-story{background:var(--canvas);background-image:linear-gradient(color-mix(in srgb,var(--ink) 4%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ink) 4%,transparent) 1px,transparent 1px);background-size:40px 40px;color:var(--ink);border-right:1px solid var(--hairline);position:relative;overflow:hidden}.auth-story::after{content:'</>';position:absolute;right:28px;bottom:36px;font:100px var(--mono);color:color-mix(in srgb,var(--accent) 13%,transparent);pointer-events:none}.auth-story img{background:none;padding:0;border-radius:0;width:160px}.auth-story p{color:var(--muted)}.auth-story h1{font-weight:650}.auth-story h1 span::after{content:'_';font-family:var(--mono);font-weight:400}.auth-story>.eyebrow{color:var(--accent)}.auth-side{background:var(--surface)}.auth-form{max-width:370px;border-top:2px solid var(--accent);padding-top:24px}.auth-form>.eyebrow::before{content:'> ';color:var(--accent)}.auth-form h2{font-size:27px}.auth-form input{font-family:var(--mono);font-size:13px}.auth-form button[type=submit]{font-family:var(--mono)}
dialog{box-shadow:0 20px 80px var(--canvas);border-top:2px solid var(--accent)}dialog::backdrop{background:color-mix(in srgb,var(--canvas) 75%,transparent)}.dialog-head h2{font-size:21px}.comment{padding:12px;border-left:2px solid var(--hairline);background:var(--canvas)}.comment small{font-family:var(--mono)}.error{color:color-mix(in srgb,var(--err) 75%,var(--ink))}#toast{background:var(--surface);color:var(--ink);border:1px solid var(--accent);border-radius:4px;font-family:var(--mono);font-size:12px}
@media(max-width:650px){.topbar{height:auto}.hero{padding-top:6px}.phase{padding:12px 3px;font-size:9px}.hero h1{letter-spacing:-1.3px}.auth-story{border-right:0;border-bottom:1px solid var(--hairline)}.auth-story::after{font-size:64px;bottom:20px;right:20px}.auth-story h1{font-size:40px}.auth-side{padding:32px 24px}.auth-story img{width:140px}.bottom-note{line-height:1.8}.card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

.field-limit{font:10px var(--mono);color:var(--muted);font-weight:400;line-height:1.6}
/* Reserve space for a consistently inset chevron across browser-native selects. */
select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23FAFAFA' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px}
/* Align the date text and its action by their vertical centres. */
.date{align-items:center;row-gap:12px}.date>span{line-height:1.5}.date>button{flex-shrink:0;margin:0}

button.danger{color:color-mix(in srgb,var(--err) 75%,var(--ink));border-color:var(--err)}button.danger:hover{background:color-mix(in srgb,var(--err) 12%,var(--surface))}

.presence{flex-wrap:wrap;justify-content:flex-end}.online-name{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid var(--hairline);border-radius:4px;background:var(--surface);color:var(--ink);font:11px var(--mono);max-width:220px;overflow-wrap:anywhere}
