@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#243a30;--paper:#f6f3eb;--orange:#c85634;--line:#d9dfd3}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif}button,a,input,select{touch-action:manipulation}button{cursor:pointer;font:inherit;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--orange);outline-offset:4px}header{max-width:1300px;margin:auto;padding:28px 50px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{text-decoration:none;color:inherit}.logo{font-size:28px;font-weight:700;letter-spacing:-1.5px}.logo span{color:var(--orange);margin-left:4px}.city,.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700}.city{border:1px solid var(--line);border-radius:20px;padding:9px 14px}.saved{border:0;background:none;font-size:13px}.saved span{background:#e5e9de;border-radius:50%;padding:4px 8px;margin-left:7px}main{max-width:1200px;margin:auto;padding:0 45px}.intro{padding:50px 0 38px;position:relative}.eyebrow{color:#7c877a}h1{font:500 64px/1.06 'Playfair Display',Georgia,serif;letter-spacing:-2px;margin:20px 0}h1 i{color:var(--orange)}.intro p{position:absolute;left:53%;top:72px;color:#788273;font-size:16px;line-height:1.8}.scribble{position:absolute;left:53%;top:173px;color:var(--orange);font:italic 19px Georgia}.workspace{display:grid;grid-template-columns:0.9fr 1.15fr;gap:70px;align-items:start}.controls{border:1px solid var(--line);background:#fffdf7;border-radius:18px;padding:28px}.sectionhead{display:flex;align-items:center;gap:11px}.number{border:1px solid #ced8ca;border-radius:50%;padding:7px;font-size:11px}h2{font:500 23px 'Playfair Display',Georgia;margin:0}.tiny{font-size:9px;letter-spacing:1px;margin-left:auto;color:#87907f}.field{margin-top:26px}label{font-weight:600;font-size:13px;display:block}.labelrow{display:flex;align-items:center;justify-content:space-between}output{font-size:29px;font-weight:500;letter-spacing:-1px}input[type=range]{width:100%;accent-color:var(--ink);margin:18px 0 9px}.rangeends{display:flex;justify-content:space-between;font-size:10px;color:#818878}.hint{font-size:10px;color:#858b7c;margin:9px 0 0}.datewheel{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:9px;margin-top:10px;padding:8px}.datewheel button{background:#e9ede2;border:0;border-radius:6px;width:29px;height:29px}.datewheel div{font-size:13px;font-weight:500;cursor:ns-resize}.moods{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.mood{position:relative;cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:12px 2px;text-align:center;font-size:10px;font-weight:500}.mood input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}.mood:has(input:checked){background:#e5ebdc;border-color:#6b805e}.mood:has(input:focus-visible){outline:3px solid var(--orange)}.mood .icon{display:block;font-size:19px;margin-bottom:7px}.mood .check{font-size:8px;margin-right:3px}.split{display:grid;grid-template-columns:1fr 1fr;gap:15px}select{width:100%;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:12px 8px;margin-top:10px;font:12px 'DM Sans',sans-serif}.primary{background:var(--ink);color:#f8f5e9;border:0;border-radius:9px;padding:16px;width:100%;margin-top:25px;font-weight:600;display:flex;justify-content:space-between}.primary:hover{background:#375445}.footnote{text-align:center;margin-top:13px;font-size:10px;color:#818878}.resultshead{display:flex;justify-content:space-between;align-items:end;margin:5px 0 20px}.resultshead h2{font-size:32px;margin-top:8px}#counter{font-size:11px;color:#84917e}.card{background:#e8ecdf;border:1px solid #d7dfcb;border-radius:18px;overflow:hidden;touch-action:pan-y;min-height:545px}.art{height:150px;background:#344c3e;position:relative;overflow:hidden;color:#eee9c6}.art:before{content:'';position:absolute;width:200px;height:200px;right:28px;top:25px;border:1px solid #8d9e77;border-radius:50%;box-shadow:0 0 0 23px #344c3e,0 0 0 24px #697d5b,0 0 0 48px #344c3e,0 0 0 49px #697d5b}.art .stamp{position:absolute;left:25px;top:24px;font-size:9px;letter-spacing:2px}.art .phrase{position:absolute;left:25px;bottom:23px;font:italic 35px 'Playfair Display',Georgia;line-height:1.1;max-width:300px}.art .star{position:absolute;right:58px;bottom:27px;font-size:65px;color:#e8c580}.cardbody{padding:24px 27px}.pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.pill{border:1px solid #c6d0bb;padding:5px 8px;border-radius:20px;font-size:9px}.card h3{font:500 28px/1.18 'Playfair Display',Georgia;margin:10px 0}.narrative{font-size:12px;line-height:1.7;color:#697862;margin:11px 0 15px}.stops{padding:0;list-style:none;margin:0}.stops li{display:flex;gap:11px;border-top:1px solid #d0d8c5;padding:12px 0;font-size:12px}.step{font-size:10px;border:1px solid #aab99e;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;flex-shrink:0}.stopdesc{display:block;font-size:10px;color:#73806a;margin-top:4px}.stopprice{margin-left:auto;white-space:nowrap;font-size:11px}.stops a:hover{text-decoration:underline}.cardbottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #cbd6bf;margin-top:7px;padding-top:17px}.total small{display:block;font-size:9px;letter-spacing:1px;color:#78846b}.total strong{font-size:23px}.save{background:#fffdf4;border:1px solid #c1cdb5;border-radius:8px;padding:10px 14px;font-size:11px}.browse{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.browse button{border:1px solid #d3dacb;background:none;border-radius:50%;width:39px;height:39px;font-size:19px}.browse>span{font-size:10px;color:#818b79}.dots{display:flex;justify-content:center;gap:6px;margin-top:8px}.dots button{border:0;padding:0;width:5px;height:5px;background:#c7d0bf;border-radius:50%}.dots button.active{width:18px;border-radius:4px;background:var(--ink)}.estimate{text-align:center;font-size:10px;color:#8a927f;line-height:1.8;margin-top:17px}footer{border-top:1px solid var(--line);margin-top:50px;padding:23px 0;display:flex;justify-content:space-between;align-items:center;color:#87907e;font-size:10px}footer .logo{font-size:20px;color:var(--ink)}footer>span:last-child{font-size:8px;letter-spacing:1px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:13px 20px;border-radius:9px;opacity:0;pointer-events:none;font-size:12px}#toast.visible{opacity:1}#savedPanel{margin-top:30px;border:1px solid var(--line);border-radius:15px;padding:25px}#savedPanel button{border:1px solid var(--line);background:none;padding:8px;border-radius:6px;margin-left:auto}.savedrow{display:flex;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}.savedrow small{display:block;margin-top:5px;color:#78846b}@media(max-width:800px){header{padding:20px}.city{display:none}main{padding:0 20px}.intro{padding:33px 0}h1{font-size:49px}.intro p{position:static;font-size:13px}.scribble{display:none}.workspace{grid-template-columns:1fr;gap:32px}.controls{padding:23px}.resultshead h2{font-size:28px}.card{min-height:0}footer>span:last-child{display:none}.moods{gap:6px}.mood{font-size:10px}}
/* VibeChek evening palette */
:root{--ink:#fbf1e8;--paper:#100d10;--orange:#eaaaad;--line:#3c282f}
body{background:radial-gradient(ellipse at 75% 10%,#471526 0,transparent 43%),radial-gradient(ellipse at 0 70%,#251017 0,transparent 45%),#100d10;color:var(--ink)}
header{border-color:#ffffff15}.brand{display:inline-flex;gap:12px;align-items:center}.brand img{flex-shrink:0}.logo .wordmark{color:#fff;margin:0}.logo{letter-spacing:-1px}.city{border-color:#69414d;background:#ffffff05;color:#e6bcc6}.saved{color:#ead7da}.saved span{background:#592333;color:#fff}.eyebrow{color:#c794a3}h1 i{color:#ecb6bc}.intro p{color:#c7adb5}.scribble{color:#e4a5ac}.controls{background:linear-gradient(145deg,#24191e,#181317);border-color:#533440;box-shadow:0 20px 80px #0003}.number{border-color:#79505e;color:#e1b8c2}.tiny{color:#b78a97}.rangeends,.hint,.footnote{color:#bfa7b0}input[type=range]{accent-color:#cf708a}.datewheel{border-color:#573a46;background:#120f12}.datewheel button{background:#4d2131;color:#fbe7ed}.datewheel button:hover{background:#76324a}.mood{border-color:#513541;background:#21171d;color:#d8bcc7}.mood:has(input:checked){background:#67243c;border-color:#d1859e;color:#fff3f5;box-shadow:inset 0 0 0 1px #e5a4bb20}.mood:hover{border-color:#b46f85}select{border-color:#573a46;background:#191217;color:#f4e4e9}select option,select optgroup{background:#21151c;color:#f4e4e9}.primary{background:linear-gradient(110deg,#882f4b,#bd5572);color:#fff4f5;box-shadow:0 5px 25px #98143b20}.primary:hover{background:linear-gradient(110deg,#a23b5c,#d46a86)}.resultshead h2{color:#fbf1e8}#counter{color:#bc91a0}.card{background:linear-gradient(150deg,#331b26,#241720);border-color:#704154;box-shadow:0 24px 65px #0004}.art{background:radial-gradient(circle at 75% 30%,#8b2948,transparent 57%),linear-gradient(125deg,#31121e,#5c1c32);color:#ffeae7}.art:before{border-color:#e7a1b54d;box-shadow:0 0 0 23px #611e3520,0 0 0 24px #d77b9659,0 0 0 48px #611e3510,0 0 0 49px #d77b9640}.art .stamp{color:#e5b8c4}.art .star{color:#fff0e4}.pill{border-color:#795164;color:#e2bbc9;background:#ffffff03}.narrative{color:#d0afb9}.stops li{border-color:#5e3647}.step{border-color:#a16a80;color:#e3b5c4}.stopdesc{color:#c49daa}.stopprice{color:#f1c6d5}.cardbottom{border-color:#653b4c}.total small{color:#c7a2b2}.total strong{color:#fff1eb}.save{background:#f7eee8;color:#26121c;border-color:#f7eee8}.save:hover{background:#e9c6d3}.browse button{border-color:#76505e;color:#f8dce7;background:#24151d}.browse button:hover{background:#66273d}.browse>span{color:#c29baa}.dots button{background:#664151}.dots button.active{background:#edafc4}.estimate{color:#b58e9e}footer{border-color:#ffffff15;color:#b18d9a}footer .logo{color:#fff}#toast{background:#f4e8ed;color:#3a1625;box-shadow:0 8px 30px #0008}#savedPanel{border-color:#68404f;background:#21171d}#savedPanel button{border-color:#7a4b60;color:#f6dde7}.savedrow{border-color:#51303f}.savedrow small{color:#c09aa9}

.art .card-logo{position:absolute;right:45px;bottom:25px;width:76px;height:76px;filter:drop-shadow(0 8px 15px #0003)}
@media(max-width:420px){.art .card-logo{right:20px;width:60px;height:60px}.art .phrase{max-width:235px;font-size:29px}}
.pipeline-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}.pipeline-column{background:#160f15;border:1px solid #51313f;border-radius:12px;padding:14px;min-width:0}.pipeline-column h3{display:flex;justify-content:space-between;font-size:13px;margin:0 0 15px}.pipeline-column h3 span{color:#dfa6bb}.pipeline-card{display:block;text-align:left;width:100%;margin:0 0 12px!important;background:#35202b!important;border:1px solid #734052!important;border-radius:10px!important;padding:16px!important}.pipeline-card:hover{border-color:#e8a5bf!important}.pipeline-card strong{display:block;font:500 20px/1.25 'Playfair Display',Georgia;margin:10px 0}.pipeline-card small,.pipeline-places{display:block;color:#cda6b6;font-size:10px;line-height:1.6}.pipeline-card .eyebrow{font-size:8px;letter-spacing:1px}.open-plan{display:block;color:#f3c2d5;font-size:10px;margin-top:14px}.empty-stage{color:#987783;font-size:11px;line-height:1.7}dialog{background:#271821;color:#fbeee9;border:1px solid #8f536d;border-radius:18px;width:min(660px,calc(100% - 24px));max-height:90dvh;padding:28px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#090509bd;backdrop-filter:blur(5px)}.detail-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.detail-top button{border:1px solid #795064;background:none;color:#fff;border-radius:50%;width:34px;height:34px;font-size:23px}dialog h2{font-size:32px;line-height:1.2}dialog h3{font:500 26px 'Playfair Display',Georgia;margin:0 0 14px}dialog h4{font-size:14px;margin:20px 0 10px}.detail-total{display:flex;justify-content:space-between;padding:16px 0;border-top:1px solid #684156;color:#cdadbd;font-size:12px}.detail-total strong{font-size:21px;color:#fff}.checkin{border-top:1px solid #805166;margin-top:10px;padding-top:24px}.attendance{display:flex;gap:10px}.attendance button,.save-review{border:1px solid #996078;border-radius:8px;padding:12px 18px;background:#442434;color:#fbe8ed}.attendance button.chosen{background:#a24866;border-color:#e49cb7}.visited-options{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.visit-option,.vibe-chip{display:flex;align-items:center;gap:7px;border:1px solid #714354;border-radius:8px;padding:10px;font-size:11px;cursor:pointer}.visit-option:has(input:checked),.vibe-chip:has(input:checked){background:#672b43;border-color:#d596b0}.visit-option input,.vibe-chip input{accent-color:#d884a3;width:16px;height:16px;flex-shrink:0}.venue-review{border:1px solid #6d4052;border-radius:12px;padding:20px;margin-top:18px;background:#1e131a}.venue-review h4{margin-top:0;color:#ffdde9;font-size:17px}.venue-review label[for]{display:flex;justify-content:space-between;gap:8px;font-size:11px}.venue-review output{font-size:11px;letter-spacing:0;color:#edb4ca}.vibe-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:20px 0}.vibe-chip{font-size:10px;padding:9px}.vibe-chip.negative:has(input:checked){background:#442e35;border-color:#c78e8f}.score-line{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #573340;padding:15px 0;font-size:12px}.score-line strong{font-size:30px;color:#f0b2cb}.score-line small{font-size:12px;margin-left:3px;color:#ac8597}.save-review{width:100%;margin-top:15px;background:#97405f}.storage-note{margin:23px 0;line-height:1.6}.remove-date{background:none;color:#c99aab;border:0;text-decoration:underline;padding:5px 0;font-size:11px}@media(max-width:850px){.pipeline-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.pipeline-board{grid-template-columns:1fr}dialog{padding:20px}.vibe-checks{grid-template-columns:repeat(2,1fr)}header{gap:15px}.saved{font-size:11px}.logo .wordmark{font-size:23px}}

.stop-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px;min-width:92px}.stops .reserve-link{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border:1px solid #d7b4c1;border-radius:999px;color:#fff0f4;background:#5d263c;font-size:11px;font-weight:600;text-decoration:none;white-space:nowrap}.stops .reserve-link:hover{background:#813951}.stops .reserve-link:focus-visible{outline:2px solid white;outline-offset:3px}@media(max-width:480px){.stop-actions{min-width:82px}.stops .reserve-link{padding:7px 8px}}

.structured-review{display:grid;gap:14px;margin:22px 0}.review-dropdown{border:1px solid #684251;border-radius:12px;padding:14px}.review-dropdown summary{cursor:pointer;font-weight:600}.review-dropdown summary small{display:block;font-weight:400;color:#bda9b2;margin:5px 0}.review-field{display:grid;gap:8px;font-weight:600}.review-field select,.review-field textarea,.date-rollers select{width:100%;background:#281b22;color:#fff0f4;border:1px solid #684251;border-radius:10px;padding:12px;font:inherit;font-size:14px}.review-field textarea{min-height:100px;resize:vertical}.visit-date{border:1px solid #684251;border-radius:12px;padding:14px}.visit-date legend small{color:#bda9b2;font-size:11px}.date-rollers{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px}.skip-date{background:transparent;color:#ddbdca;border:0;padding:12px 0;cursor:pointer}.restaurant-summary{margin:24px 0;padding:18px;border-radius:12px;background:#2f2028;border:1px solid #684251}.summary-tags{display:flex;flex-wrap:wrap;gap:7px}.summary-tags span{padding:6px 9px;background:#522b3c;border-radius:8px;font-size:12px}.review-note{font-size:14px;overflow-wrap:anywhere}.review-dropdown .vibe-checks{margin-top:14px}

.date-types{border:0;padding:0;min-width:0}.date-types legend{font-size:14px;font-weight:600;margin-bottom:14px}.date-type-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.date-type-options label{display:flex;align-items:center;gap:9px;border:1px solid #684251;padding:12px;border-radius:10px;font-size:12px;cursor:pointer;color:#e8d7df}.date-type-options label:has(input:checked){background:#643146;border-color:#d7b4c1}.date-type-options input{accent-color:#c87897;width:16px;height:16px;flex-shrink:0}.pills{flex-wrap:wrap}

.nyc-catalog{margin:22px 0;border:1px solid #684251;border-radius:16px;padding:18px;background:#281b22}.nyc-catalog summary{font-weight:600;cursor:pointer}.nyc-catalog summary span{font-size:11px;color:#bda9b2;margin-left:8px}.nyc-venues{display:grid;gap:12px}.nyc-venues article{border-top:1px solid #684251;padding-top:14px}.nyc-venues a{color:#efc2d2;font-weight:600;font-size:15px;text-decoration:none}.nyc-venues small{display:block;margin:7px 0;color:#bda9b2}.nyc-venues p{font-size:13px;line-height:1.6;color:#e8d7df;margin:8px 0}.seasonal-note{font-size:11px;border:1px solid #8c6374;padding:5px 9px;border-radius:8px;display:inline-block}
