:root{--bg:#fafaf7;--ink:#111412;--ink-soft:#5a625c;--green:#0f7a6e;--green-bright:#25d366;--hair:rgba(17,20,18,.1)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}a{color:inherit}.shell{max-width:560px;margin:0 auto;padding:24px}.topbar{justify-content:space-between;padding:12px 0 32px}.topbar,.wordmark{display:flex;align-items:center}.wordmark{gap:10px;text-decoration:none}.wm-text{font-weight:800;font-size:19px;letter-spacing:-.03em}.online{width:8px;height:8px;border-radius:50%;background:var(--green-bright);display:inline-block;margin-left:6px;box-shadow:0 0 0 3px rgba(37,211,102,.18)}.signout{background:none;border:none;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink-soft);cursor:pointer}.signout:hover{color:var(--ink)}h1{font-weight:900;font-size:clamp(30px,7vw,40px);letter-spacing:-.04em;line-height:1.05;margin-bottom:10px}.grn{color:var(--green)}.sub{color:var(--ink-soft);font-size:15.5px}.card{background:#fff;border:1.5px solid var(--hair);border-radius:20px;padding:28px;margin-top:20px}.card h2{font-weight:800;font-size:18px;letter-spacing:-.02em;margin-bottom:6px}.card p{color:var(--ink-soft);font-size:14.5px}.field{margin-top:16px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.field input{width:100%;padding:13px 15px;font-size:15px;font-family:inherit;border:1.5px solid rgba(17,20,18,.18);border-radius:12px;background:#fff;color:var(--ink)}.field input:focus{outline:2px solid var(--green);outline-offset:1px;border-color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px 22px;font-size:15px;font-weight:600;font-family:inherit;border-radius:999px;border:none;cursor:pointer;margin-top:14px;transition:transform .15s;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;transform:none;cursor:default}.btn-primary{background:var(--ink);color:#fff}.btn-green{background:var(--green);color:#fff}.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(17,20,18,.25)}.status{font-size:14px;font-weight:600;padding:12px 15px;border-radius:12px;margin-top:14px}.status.ok{background:rgba(18,140,126,.1);color:var(--green)}.status.err{background:rgba(214,87,69,.12);color:#b4402f}.tabs{display:flex;gap:6px;margin-top:26px;border-bottom:1.5px solid var(--hair)}.tab{background:none;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink-soft);padding:10px 14px;cursor:pointer;border:none;border-bottom:2.5px solid transparent;margin-bottom:-1.5px}.tab.on{color:var(--ink);border-bottom-color:var(--green)}.trip-hero{background:#075e54;color:#fff;border-radius:20px;padding:28px;margin-top:20px}.trip-hero .eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:hsla(0,0%,100%,.65);margin-bottom:8px}.trip-hero h2{font-weight:800;font-size:22px;letter-spacing:-.02em;margin-bottom:6px}.trip-hero p{color:hsla(0,0%,100%,.8);font-size:14.5px}.pilot-tag{display:inline-block;margin-top:16px;background:rgba(37,211,102,.15);color:#8fe3b0;font-size:12px;font-weight:700;padding:5px 12px;border-radius:99px}.disclosure{font-size:13px;color:var(--ink-soft);margin-top:22px;text-align:center}.disclosure b{color:var(--green)}.iv-progress{display:flex;gap:6px;margin-bottom:22px}.iv-progress i{height:4px;flex:1 1;border-radius:2px;background:rgba(17,20,18,.12)}.iv-progress i.done{background:var(--green)}.remy-q{display:flex;gap:12px;align-items:flex-start;margin-bottom:6px}.remy-q .bubble{background:#fff;border:1.5px solid var(--hair);border-radius:16px;border-top-left-radius:4px;padding:16px 18px;font-size:16px;font-weight:600;line-height:1.5}.remy-q .bubble small{display:block;font-weight:500;font-size:13.5px;color:var(--ink-soft);margin-top:6px}.choice{width:100%;text-align:left;background:#fff;border:1.5px solid rgba(17,20,18,.18);border-radius:14px;padding:14px 16px;font:inherit;cursor:pointer;margin-top:10px}.choice,.choice b{display:block;font-size:15px}.choice span{font-size:13px;color:var(--ink-soft)}.choice.on{border-color:var(--green);box-shadow:0 0 0 2px rgba(18,140,126,.2)}.times{display:flex;gap:12px;margin-top:10px}.times .field{flex:1 1;margin-top:0}.promise{background:rgba(18,140,126,.07);border:1.5px solid rgba(18,140,126,.25);border-radius:14px;padding:14px 16px;font-size:14px;color:var(--ink);margin-top:16px}.promise b{color:var(--green)}.fwd{display:flex;align-items:center;gap:10px;background:#f3f1ea;border-radius:12px;padding:12px 14px;margin-top:14px;font-size:14px;font-weight:600;word-break:break-all}.fwd button{background:var(--ink);color:#fff;border:none;border-radius:8px;font:inherit;font-size:12.5px;font-weight:600;padding:7px 12px;cursor:pointer;flex:none}.bill-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1.5px solid var(--hair);font-size:14.5px}.bill-row:last-child{border-bottom:1.5px solid var(--hair)}.comp{color:var(--green);font-size:13px}.chip,.comp{font-weight:700}.chip{display:inline-block;font-size:11px;letter-spacing:.04em;background:rgba(17,20,18,.07);color:var(--ink-soft);border-radius:6px;padding:2px 8px;margin-left:8px}.portal-nav{display:flex;align-items:center;gap:18px}.portal-nav a{text-decoration:none;font-size:14px;font-weight:600;color:var(--ink-soft)}.portal-nav a.on,.portal-nav a:hover{color:var(--ink)}.trip-card{display:flex;justify-content:space-between;align-items:center;gap:14px;text-decoration:none;transition:transform .15s}.trip-card:hover{transform:translateY(-2px)}.trip-card h2{font-size:17px}.trip-card p{font-size:13.5px}.st{font-size:11.5px;font-weight:700;letter-spacing:.03em;border-radius:99px;padding:5px 12px;flex:none;background:rgba(17,20,18,.07);color:var(--ink-soft)}.st-live{background:rgba(37,211,102,.16);color:#0e7a44}.st-paused{background:rgba(232,121,74,.15);color:#b4552b}.st-review,.st-studying{background:rgba(18,140,126,.12);color:var(--green)}.st-archived{background:rgba(17,20,18,.05);color:#5a625c}.stepper{display:flex;gap:4px;margin:22px 0 4px;flex-wrap:wrap}.step-chip{font-size:11px;font-weight:700;letter-spacing:.03em;padding:5px 10px;border-radius:99px;background:rgba(17,20,18,.06);color:#5a625c}.step-chip.done{background:rgba(18,140,126,.1);color:var(--green)}.step-chip.now{background:var(--ink);color:#fff}.event-row,.mat-row,.q-row,.trav-row{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-top:1.5px solid var(--hair);font-size:14.5px}.event-row:first-of-type,.mat-row:first-of-type,.q-row:first-of-type,.trav-row:first-of-type{border-top:none}.mat-kind{font-size:10px;font-weight:800;letter-spacing:.06em;background:rgba(17,20,18,.07);color:var(--ink-soft);border-radius:6px;padding:3px 7px;flex:none;margin-top:2px}.mat-row .grow,.q-row .grow,.trav-row .grow{flex:1 1;min-width:0}.mat-row .grow a{color:var(--green);font-weight:600;word-break:break-all}.del{background:none;border:none;color:#b4402f;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;flex:none;padding:2px 4px}.addbar{display:flex;gap:10px;margin-top:12px}.addbar input{flex:1 1}.addbar .btn{width:auto;margin-top:0;padding:12px 18px;flex:none}.uploadbtn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;border-radius:999px;font-size:14px;font-weight:600;padding:13px 20px;cursor:pointer;margin-top:12px}.uploadbtn input{display:none}.q-row .q-text{font-weight:600}.q-row .q-ctx{font-size:13px;color:var(--ink-soft)}.q-row.waived{opacity:.5}.q-actions{display:flex;gap:8px;margin-top:8px}.q-actions .btn{width:auto;margin-top:0;padding:10px 16px;font-size:13.5px}.q-answer{font-size:13.5px;color:var(--green);font-weight:600;margin-top:6px}.check-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1.5px solid var(--hair);font-size:14.5px}.check-row:first-of-type{border-top:none}.check-dot{width:22px;height:22px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff}.check-dot.ok{background:var(--green)}.check-dot.bad{background:#c0603c}.check-row .fixlink{margin-left:auto;background:none;border:none;font:inherit;font-size:13px;font-weight:600;color:var(--green);cursor:pointer;flex:none}.pausebar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1.5px solid var(--hair);border-radius:20px;padding:20px 24px;margin-top:20px}.pausebar b{font-size:15.5px}.pausebar p{font-size:13px;color:var(--ink-soft)}.bigswitch{background:var(--ink);color:#fff;border:none;border-radius:999px;font:inherit;font-size:14px;font-weight:700;padding:14px 24px;cursor:pointer;flex:none}.bigswitch.paused{background:#c0603c}.event-row .ev-time{font-size:11.5px;color:#5a625c;flex:none;width:76px;margin-top:2px}.event-row.esc{background:rgba(232,121,74,.06);margin:0 -12px;padding:13px 12px;border-radius:10px}.muted{font-size:14px;color:var(--ink-soft)}.linkbtn{background:none;border:none;font:inherit;font-size:13.5px;font-weight:600;color:var(--green);cursor:pointer;padding:0}.pv{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;letter-spacing:.08em;background:#4a3fa3;color:#fff;border-radius:6px;padding:2.5px 8px;vertical-align:middle;text-transform:uppercase}.pv:before{content:"◈"}.readout h3{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:16px 0 6px}.readout h3.cold{color:var(--green)}.readout h3.unsure{color:#b4552b}.readout li{list-style:none;font-size:14px;color:#3a423d;padding:7px 0 7px 22px;position:relative;border-top:1px solid var(--hair)}.readout li:before{content:"·";position:absolute;left:6px;font-weight:900}.pe-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1.5px solid var(--hair);font-size:14px}.pe-row:first-of-type{border-top:none}.pe-row .grow{flex:1 1;min-width:0}.pe-row .pe-from{font-weight:700;font-size:13px}.pe-row .pe-sub{color:var(--ink-soft);font-size:13px}.pe-actions{display:flex;gap:6px;flex:none}.pe-actions button{border:none;font:inherit;font-size:12.5px;font-weight:700;border-radius:8px;padding:8px 12px;cursor:pointer}.pe-yes{background:var(--green);color:#fff}.pe-no{background:rgba(17,20,18,.07);color:var(--ink-soft)}.plan-row{display:flex;gap:14px;padding:10px 0;border-top:1px solid var(--hair);font-size:14.5px}.plan-row:first-of-type{border-top:none}.plan-row .pt{font-weight:800;flex:none;width:52px;color:var(--ink-soft)}.plan-row.hard .pt,.plan-row.hard span{color:#b4552b;font-weight:700}.locked-line{display:flex;gap:8px;align-items:center;background:rgba(17,20,18,.05);border-radius:10px;padding:11px 14px;font-size:13.5px;color:var(--ink-soft);margin-top:10px}.locked-line b{color:var(--ink)}.locked-line .lock{flex:none}.presets{display:flex;gap:8px;margin-top:12px}.preset{flex:1 1;background:#fff;border:1.5px solid rgba(17,20,18,.18);border-radius:14px;padding:12px;font:inherit;cursor:pointer;text-align:center}.preset b{display:block;font-size:14.5px}.preset span{font-size:11.5px;color:var(--ink-soft)}.preset.on{border-color:var(--green);box-shadow:0 0 0 2px rgba(18,140,126,.2)}.dayprev{background:#f3f1ea;border-radius:14px;padding:14px 16px;margin-top:12px}.dayprev .dp-row{font-size:13.5px;padding:5px 0;color:#3a423d;border-top:1px dashed rgba(17,20,18,.12)}.dayprev .dp-row:first-of-type{border-top:none}.consent{display:flex;gap:14px;align-items:flex-start;padding-top:6px}.consent .grow{flex:1 1}.toggle{width:52px;height:30px;border-radius:15px;background:rgba(17,20,18,.15);border:none;cursor:pointer;position:relative;transition:background .2s;flex:none;margin-top:3px}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.toggle.on{background:var(--green)}.toggle.on:after{left:25px}.rm-item{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--hair);font-size:14px}.rm-item .grow{flex:1 1}.placeholder{border:1.5px dashed #b4552b;border-radius:10px;padding:10px 13px;font-size:12.5px;color:#8a5240;background:rgba(232,121,74,.05);margin-top:12px}.placeholder b{letter-spacing:.06em}.danger-card{border-color:rgba(180,64,47,.4)!important}.danger-card h2{color:#b4402f}.manifest li{list-style:none;font-size:14px;padding:7px 0 7px 26px;position:relative;border-top:1px solid var(--hair);color:#3a423d}.manifest li:before{content:"✕";position:absolute;left:4px;color:#b4402f;font-weight:800;font-size:12px}.btn-danger{background:#b4402f;color:#fff}.btn-danger:disabled{background:rgba(180,64,47,.35)}.exp-steps{display:flex;gap:8px;margin-top:12px;font-size:12.5px;font-weight:700}.exp-steps span{padding:6px 12px;border-radius:99px;background:rgba(17,20,18,.06);color:#5a625c}.exp-steps span.on{background:rgba(18,140,126,.12);color:var(--green)}.slider-row{margin-top:14px}.slider-row label{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:6px}.slider-row input[type=range]{width:100%;accent-color:var(--green)}.slider-row.off{opacity:.55;pointer-events:none}.adv-row{display:flex;gap:12px;align-items:center;padding:14px 0;border-top:1.5px solid var(--hair);font-size:14.5px}.adv-row:first-of-type{border-top:none}.adv-row .grow{flex:1 1;min-width:0}.adv-row .adv-flag{font-size:12px;color:#b4552b;font-weight:600}.wl-mock{gap:12px;background:#f3f1ea;border-radius:12px;padding:12px 14px;margin-top:12px;font-size:13.5px}.wl-logo,.wl-mock{display:flex;align-items:center}.wl-logo{width:34px;height:34px;border-radius:8px;background:#4a3fa3;color:#fff;justify-content:center;font-weight:900;font-size:13px;flex:none}.foot{margin-top:40px;padding:20px 0 30px;text-align:center;font-size:12.5px;color:var(--ink-soft)}.foot a{color:var(--green);font-weight:600;text-decoration:none}.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}.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:#fff;padding:12px 20px;border-radius:0 0 12px 0;font-weight:700;font-size:14px;text-decoration:none}.skip-link:focus{left:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0f7a6e;outline-offset:2px;border-radius:4px}