:root{--navy:#0f1a35;--paper:#f3eddf;--cream:#fffaf0;--ink:#172039;--red:#e34232;--yellow:#ffc928;--blue:#275bc4;--green:#2f7457;--line:#c8bfad;--muted:#70746f;--mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif;--serif:'Playfair Display',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans)}button,select{font:inherit}button,a{touch-action:manipulation}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:20;background:#fff;padding:10px}.hero{background:var(--navy);color:var(--cream);padding:0 5vw 70px}.hero nav{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff34}.hero nav a{color:var(--cream);text-decoration:none;margin-left:22px;font:500 12px var(--mono);letter-spacing:.06em}.hero nav .brand{margin:0;color:var(--yellow);font-weight:700}.hero-grid{max-width:1180px;margin:70px auto 0;display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center}.kicker{font:500 11px var(--mono);letter-spacing:.13em;text-transform:uppercase;margin:0 0 14px}.hero h1,.section h2{font:700 clamp(3.8rem,8vw,7rem)/.85 var(--serif);letter-spacing:-.055em;margin:0}.hero h1 em{color:var(--yellow);font-weight:700}.lede{font-size:19px;max-width:650px;color:#e7e3d9;margin:28px 0 30px}.primary{display:inline-block;background:var(--red);color:#fff;border:2px solid var(--red);padding:14px 19px;text-decoration:none;font-weight:700;box-shadow:5px 5px 0 var(--yellow);cursor:pointer}.ticket{position:relative;background:var(--cream);color:var(--ink);padding:28px;border:2px solid var(--ink);box-shadow:10px 10px 0 var(--red);transform:rotate(1deg)}.ticket:before,.ticket:after{content:'';position:absolute;left:-12px;width:22px;height:22px;border-radius:50%;background:var(--navy)}.ticket:before{top:28%}.ticket:after{bottom:28%}.ticket span,.ticket small{display:block;font:500 10px var(--mono);letter-spacing:.09em}.ticket strong{display:block;font:700 27px var(--serif);margin:12px 0}.ticket p{line-height:1.8}.ticket small{padding-top:16px;border-top:1px dashed var(--line);line-height:1.55}.section{padding:90px 5vw}.section-head{max-width:1180px;margin:0 auto 45px;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end}.section h2{font-size:clamp(2.8rem,5vw,5.2rem)}.section-head>p{margin:0;color:var(--muted);font-size:17px}.locked{background:var(--cream)}.locked-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);border-left:2px solid var(--ink)}.locked-grid article{padding:25px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);min-height:180px}.locked-grid b{font:500 10px var(--mono);color:var(--red)}.locked-grid h3{font:700 24px var(--serif);margin:24px 0 7px}.locked-grid p{margin:0;color:var(--muted)}.deck-section{background:var(--paper)}.deck-tools{max-width:920px;margin:0 auto 18px;display:flex;align-items:end;justify-content:space-between;gap:15px}.deck-tools fieldset{border:0;padding:0;margin:0}.deck-tools legend,.deck-tools label{font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}.person-switch button,.quiet,.deck-tools select{background:transparent;border:1px solid var(--ink);padding:9px 13px;margin-top:6px}.person-switch button.on,.quiet:hover{background:var(--ink);color:#fff}.deck-tools select{display:block;min-width:180px}.progress{max-width:920px;margin:0 auto 14px;display:flex;gap:14px;align-items:center;font:500 12px var(--mono)}.progress i{height:5px;background:#d7cebd;flex:1}.progress b{display:block;height:100%;background:var(--red);width:0;transition:width .25s}.deck-hint{text-align:center;color:#3f4a54;font-weight:700;margin:.5rem auto 1rem;font-size:.95rem}.deck-shell{max-width:1050px;margin:auto;display:grid;grid-template-columns:55px minmax(0,820px) 55px;gap:20px;justify-content:center;align-items:center}.arrow{border:0;background:transparent;font-size:32px;cursor:pointer}.swipe-card{position:relative;background:var(--cream);border:2px solid var(--ink);min-height:490px;padding:48px 54px 42px;box-shadow:10px 10px 0 var(--ink);overflow:hidden}.swipe-card:before{content:attr(data-kind);position:absolute;right:-44px;top:36px;width:180px;text-align:center;transform:rotate(39deg);padding:7px;background:var(--yellow);font:500 9px var(--mono);letter-spacing:.09em}.card-count{font:500 10px var(--mono);color:var(--muted)}.swipe-card h3{font:700 clamp(2.3rem,5vw,4.5rem)/.94 var(--serif);letter-spacing:-.035em;max-width:700px;margin:48px 0 18px}.swipe-card .dek{font-size:21px;max-width:660px;margin:0 0 22px}.swipe-card .detail{color:var(--muted);max-width:650px}.meta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:35px}.meta-row span{border:1px solid var(--line);padding:7px 10px;font:500 10px var(--mono)}.swipe-card a{display:inline-block;margin-top:25px;color:var(--blue);font-weight:700}.past-vote{position:absolute;bottom:35px;right:40px;font:500 10px var(--mono);color:var(--muted)}.vote-actions{display:flex;justify-content:center;gap:12px;margin:30px auto 0}.vote-actions button{width:130px;padding:14px;border:2px solid var(--ink);font-weight:700;cursor:pointer;background:var(--cream)}.vote-actions .no:hover,.vote-actions .no.active{background:var(--red);color:#fff}.vote-actions .maybe:hover,.vote-actions .maybe.active{background:var(--yellow)}.vote-actions .yes:hover,.vote-actions .yes.active{background:var(--green);color:#fff}.keyboard{text-align:center;color:var(--muted);font:10px var(--mono)}.compare{background:var(--navy);color:var(--cream)}.compare .section-head>p{color:#bfc5d2}.compare-tabs,.compare-grid,.device-transfer{max-width:1180px;margin-left:auto;margin-right:auto}.compare-tabs{display:flex;gap:8px;margin-bottom:22px}.compare-tabs button{border:1px solid #ffffff66;background:transparent;color:#fff;padding:9px 13px}.compare-tabs button.on{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.compare-card{background:var(--cream);color:var(--ink);padding:22px;border-left:6px solid var(--yellow);min-height:175px}.compare-card h3{font:700 22px var(--serif);margin:8px 0}.compare-card p{font-size:13px;color:var(--muted)}.vote-line{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;font:500 9px var(--mono)}.empty-state{grid-column:1/-1;border:1px dashed #ffffff70;padding:35px;text-align:center;color:#c4cad5}.device-transfer{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;margin-top:35px;border-top:1px solid #ffffff35;padding-top:25px}.device-transfer h3{margin:0 0 5px}.device-transfer p{color:#bfc5d2;margin:0}.device-transfer button,.export-buttons button,#reset{border:1px solid currentColor;background:transparent;color:inherit;padding:11px 14px;cursor:pointer}.calendar-section{background:var(--cream)}.unscheduled{max-width:1180px;margin:0 auto 25px;padding:20px;border:2px dashed var(--line)}.unscheduled h3{font:700 20px var(--serif);margin:0 0 12px}.plan-items{display:flex;flex-wrap:wrap;gap:8px;min-height:38px}.plan-chip{background:var(--yellow);border:1px solid var(--ink);padding:7px 10px;cursor:grab;font-size:12px;display:flex;gap:7px;align-items:center}.plan-chip select{max-width:105px;font-size:10px}.plan-chip button{border:0;background:transparent;cursor:pointer}.plan-chip.pinned{background:var(--red);color:#fff}.calendar-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);border-left:1px solid var(--ink);border-top:1px solid var(--ink)}.day{min-height:245px;padding:14px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transition:background .2s}.day.dragover{background:#fff4ba}.day-head{display:flex;justify-content:space-between;gap:7px;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:10px}.day-head b{font:700 17px var(--serif)}.day-head span{font:500 10px var(--mono);text-align:right;color:var(--blue)}.fixed{font-size:12px;color:#545953;padding:7px 0;border-bottom:1px dotted var(--line)}.fixed:before{content:'●';color:var(--red);margin-right:5px}.day .plan-items{display:block}.day .plan-chip{margin-top:8px;display:grid;grid-template-columns:1fr auto}.day .plan-chip select{grid-column:1/-1;width:100%;max-width:none}.calendar-note{max-width:1180px;margin:15px auto 0;color:#50544f;font-size:13px}.export-section{background:var(--red);color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}.export-section>div,.export-section pre{max-width:680px}.export-section h2{font-size:clamp(3rem,5vw,5.5rem)}.export-section p{font-size:17px}.export-buttons{display:flex;gap:15px;margin-top:25px}.export-buttons .primary{background:var(--navy);border-color:var(--navy);box-shadow:5px 5px 0 var(--yellow)}.prompt-note{font-size:13px!important;color:#fff6dc;margin:0 0 8px}.export-section pre{background:var(--navy);color:#eef0f7;padding:25px;white-space:pre-wrap;font:12px/1.6 var(--mono);max-height:430px;overflow:auto;margin:0;scrollbar-color:var(--yellow) var(--navy)}footer{background:#080f22;color:#fff;padding:25px 5vw;display:flex;align-items:center;justify-content:space-between;gap:20px;font:10px var(--mono);letter-spacing:.05em}footer span{color:#9da7bc}@media(max-width:850px){.hero-grid,.section-head,.export-section{grid-template-columns:1fr}.hero-grid{gap:45px}.hero nav div a:nth-child(-n+2){display:none}.locked-grid{grid-template-columns:repeat(2,1fr)}.compare-grid{grid-template-columns:repeat(2,1fr)}.calendar-grid{grid-template-columns:repeat(2,1fr)}.device-transfer{grid-template-columns:1fr}.deck-tools{align-items:stretch;flex-wrap:wrap}.swipe-card{padding:40px 30px;min-height:520px}.deck-shell{grid-template-columns:30px minmax(0,1fr) 30px;gap:5px}.section{padding:70px 5vw}}@media(max-width:520px){.hero{padding-bottom:50px}.hero-grid{margin-top:45px}.hero h1{font-size:3.65rem}.ticket{transform:none}.locked-grid,.compare-grid,.calendar-grid{grid-template-columns:1fr}.locked-grid article{min-height:135px}.swipe-card{min-height:560px;padding:34px 23px}.swipe-card h3{font-size:2.55rem;margin-top:42px}.swipe-card .dek{font-size:18px}.vote-actions button{width:auto;flex:1}.vote-actions{padding:0 15px}.arrow{font-size:24px}.deck-tools label{width:100%}.deck-tools select{width:100%}.calendar-grid{max-height:780px;overflow:auto}.day{min-height:180px}.export-buttons{flex-direction:column}footer{align-items:flex-start;flex-direction:column}.hero nav{height:62px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
