:root{--rg-white:#ffffff;--rg-midnight:#000331;--rg-ultraviolet:#421ec2;--rg-golden:#f4b639;--rg-green:#35b56b;--rg-neutral-100:#f4f5f7;--rg-neutral-200:#e5e5e5;--rg-neutral-300:#cfd0d6;--rg-neutral-500:#888a8c;--rg-neutral-700:#4d4f66;--rg-neutral-900:#0f112e;--rg-color-bg:var(--rg-white);--rg-color-surface:var(--rg-white);--rg-color-surface-muted:var(--rg-neutral-100);--rg-color-border:var(--rg-neutral-200);--rg-color-text:var(--rg-midnight);--rg-color-text-muted:var(--rg-neutral-500);--rg-color-text-inverse:var(--rg-white);--rg-gradient-from:#0f112e;--rg-gradient-to:#421ec2;--rg-gradient:linear-gradient(90deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);--rg-font-body:"DM Sans",system-ui,-apple-system,sans-serif;--rg-font-header:"Barlow Condensed","Arial Narrow",sans-serif;--rg-radius-sm:4px;--rg-radius-md:8px;--rg-radius-lg:16px;--rg-radius-pill:999px;--rg-shadow-sm:0 1px 2px rgba(0,3,49,.08);--rg-shadow-md:0 4px 16px rgba(0,3,49,.12);--rg-space-2:.5rem;--rg-space-3:.75rem;--rg-space-4:1rem;--rg-space-5:1.5rem;--rg-space-6:2rem;--rg-space-7:3rem}*{box-sizing:border-box}body{margin:0;font-family:var(--rg-font-body);color:var(--rg-color-text);background:var(--rg-neutral-100);-webkit-font-smoothing:antialiased}.topbar{background:var(--rg-gradient);color:var(--rg-white);padding:var(--rg-space-4) var(--rg-space-5);display:flex;align-items:baseline;gap:var(--rg-space-3)}.topbar h1{font-family:var(--rg-font-header);font-size:1.5rem;font-weight:600;margin:0;letter-spacing:.01em}.topbar span{font-size:.8125rem;opacity:.75}main{max-width:48rem;margin:0 auto;padding:var(--rg-space-6) var(--rg-space-5) var(--rg-space-7);display:flex;flex-direction:column;gap:var(--rg-space-4)}.card{background:var(--rg-color-surface);border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-md);box-shadow:var(--rg-shadow-sm);padding:var(--rg-space-5)}.card h2{font-family:var(--rg-font-header);font-size:1.25rem;font-weight:600;margin:0 0 var(--rg-space-3)}.row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--rg-space-4);padding:var(--rg-space-2) 0;border-bottom:1px solid var(--rg-color-border)}.row:last-child{border-bottom:0}.row dt{color:var(--rg-color-text-muted);font-size:.875rem}.row dd{margin:0;font-size:.875rem;text-align:right;word-break:break-word}dl{margin:0}.pill{display:inline-block;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .5rem;border-radius:var(--rg-radius-pill)}.pill.ok{background:#e4f6ec;color:var(--rg-green)}.pill.waiting{background:#fdf3dd;color:#a8791a}.pill.bad{background:#fde8e8;color:#b42318}code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8125em;background:var(--rg-neutral-100);border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm);padding:.08em .35em}.muted{color:var(--rg-color-text-muted);font-size:.875rem;margin:0}label{display:flex;flex-direction:column;gap:.3rem;text-align:left;margin-bottom:var(--rg-space-4)}label>span{font-size:.8125rem;font-weight:500;color:var(--rg-color-text-muted)}input,select{font:inherit;font-size:.9375rem;padding:.55rem .7rem;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-md);background:var(--rg-white);color:var(--rg-color-text);width:100%}input:focus-visible,select:focus-visible{outline:2px solid var(--rg-ultraviolet);outline-offset:1px;border-color:transparent}button{font:inherit;font-size:.9375rem;font-weight:500;padding:.55rem 1.1rem;border:0;border-radius:var(--rg-radius-md);background:var(--rg-ultraviolet);color:var(--rg-white);cursor:pointer}button:hover{background:#351a9c}button:disabled{opacity:.6;cursor:default}button:focus-visible{outline:2px solid var(--rg-midnight);outline-offset:2px}.signin-card button{width:100%}.notice{background:#e4f6ec;color:#15663b;border-radius:var(--rg-radius-sm);padding:var(--rg-space-3);font-size:.875rem;margin:0 0 var(--rg-space-4);word-break:break-word}h2.page{font-family:var(--rg-font-header);font-size:1.75rem;font-weight:600;margin:0}.invite{display:grid;grid-template-columns:1fr;gap:var(--rg-space-3);align-items:end}@media(min-width:40rem){.invite{grid-template-columns:2fr 2fr 1fr auto}}.invite label{margin-bottom:0}table.members{width:100%;border-collapse:collapse;font-size:.875rem}table.members th{text-align:left;font-size:.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--rg-color-text-muted);padding:0 var(--rg-space-3) var(--rg-space-2) 0;border-bottom:1px solid var(--rg-color-border)}table.members td{padding:var(--rg-space-3) var(--rg-space-3) var(--rg-space-3) 0;border-bottom:1px solid var(--rg-color-border);vertical-align:middle}table.members tr:last-child td{border-bottom:0}.actions{display:flex;gap:.4rem;justify-content:flex-end;flex-wrap:wrap}.actions button{font-size:.8125rem;padding:.3rem .65rem;background:var(--rg-neutral-100);color:var(--rg-color-text);border:1px solid var(--rg-color-border)}.actions button:hover{background:var(--rg-neutral-200)}.actions button.danger{color:#b42318}.actions button.danger:hover{background:#fde8e8}.topbar nav{display:flex;gap:var(--rg-space-4);margin-left:var(--rg-space-5)}.topbar nav a{color:var(--rg-white);opacity:.7;text-decoration:none;font-size:.875rem;padding-bottom:2px;border-bottom:2px solid transparent}.topbar nav a:hover{opacity:1}.topbar nav a.here{opacity:1;border-bottom-color:var(--rg-golden)}.signin{min-height:100dvh;display:grid;place-items:center;padding:var(--rg-space-5);background:var(--rg-gradient)}.signin-card{width:100%;max-width:23rem;background:var(--rg-color-surface);border-radius:var(--rg-radius-lg);box-shadow:var(--rg-shadow-md);padding:var(--rg-space-7) var(--rg-space-6);text-align:center}.signin-card h1{font-family:var(--rg-font-header);font-size:1.75rem;font-weight:600;margin:0 0 var(--rg-space-2)}.signin-card>.muted{margin:0 0 var(--rg-space-5)}.signin-card .small{font-size:.8125rem;margin:var(--rg-space-4) 0 0}.alert{background:#fde8e8;color:#b42318;border-radius:var(--rg-radius-sm);padding:var(--rg-space-3);font-size:.875rem;margin:0 0 var(--rg-space-4);text-align:left}.who{margin-left:auto;display:flex;align-items:center;gap:var(--rg-space-3);font-size:.875rem}.who button{font-size:.8125rem;padding:.25rem .7rem;color:var(--rg-white);background:#ffffff24;border:1px solid rgba(255,255,255,.25);border-radius:var(--rg-radius-pill)}.who button:hover{background:#ffffff38}.auth{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--rg-space-6) var(--rg-space-4);background:var(--rg-gradient-from);background-image:linear-gradient(145deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}.auth-inner{width:100%;max-width:24rem}.auth-mark{display:block;width:11rem;height:auto;margin:0 auto var(--rg-space-6);color:var(--rg-golden)}.auth-card{background:var(--rg-white);border-radius:var(--rg-radius-lg);padding:var(--rg-space-6);box-shadow:0 18px 48px #00033159}.auth-card h1{font-family:var(--rg-font-header);font-weight:600;text-transform:uppercase;letter-spacing:0;font-size:1.75rem;margin:0 0 var(--rg-space-5)}.auth-foot{margin:var(--rg-space-5) 0 0;font-size:.8125rem;line-height:1.5;color:var(--rg-color-text-muted)}button.primary{width:100%;background:var(--rg-golden);color:var(--rg-midnight);font-weight:500}button.primary:hover{background:#e0a52c}button.primary:focus-visible{outline:2px solid var(--rg-midnight);outline-offset:2px}a.primary.as-button{display:block;width:100%;box-sizing:border-box;text-align:center;text-decoration:none;font-size:.9375rem;font-weight:500;padding:.55rem 1.1rem;border-radius:var(--rg-radius-md);background:var(--rg-golden);color:var(--rg-midnight)}a.primary.as-button:hover{background:#e0a52c}a.primary.as-button:focus-visible{outline:2px solid var(--rg-midnight);outline-offset:2px}.auth-or{display:flex;align-items:center;gap:var(--rg-space-3);margin:var(--rg-space-4) 0;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--rg-color-text-muted)}.auth-or:before,.auth-or:after{content:"";flex:1;border-top:1px solid var(--rg-color-border)}.topbar-mark{height:1.25rem;width:auto;color:var(--rg-midnight);flex-shrink:0}.dash{max-width:60rem;margin:0 auto;padding:var(--rg-space-6) var(--rg-space-4) var(--rg-space-7)}.dash-head{margin-bottom:var(--rg-space-6)}.dash-head h2{font-family:var(--rg-font-header);font-weight:600;text-transform:uppercase;font-size:1.875rem;margin:0 0 .25rem}.tiles{list-style:none;margin:var(--rg-space-5) 0 0;padding:0;display:grid;gap:var(--rg-space-4);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}.tile{display:flex;flex-direction:column;gap:.3rem;height:100%;padding:var(--rg-space-5);background:var(--rg-color-surface);border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-md);text-decoration:none;color:inherit;box-shadow:var(--rg-shadow-sm);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}a.tile:hover{transform:translateY(-1px);border-color:var(--rg-ultraviolet);box-shadow:var(--rg-shadow-md)}a.tile:focus-visible{outline:2px solid var(--rg-ultraviolet);outline-offset:2px}.tile-waiting{background:transparent;box-shadow:none;border-style:dashed}.tile-waiting .tile-name,.tile-waiting .tile-blurb{color:var(--rg-color-text-muted)}.tile-name{font-family:var(--rg-font-header);font-weight:600;text-transform:uppercase;font-size:1.125rem;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.tile-flag{font-family:var(--rg-font-body);font-size:.625rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:var(--rg-radius-pill);background:var(--rg-neutral-200);color:var(--rg-neutral-700)}.tile-blurb{font-size:.875rem;line-height:1.45;color:var(--rg-color-text-muted)}.hotels{margin-top:var(--rg-space-6)}.hotels-toggle{display:flex;align-items:center;gap:.6rem;width:100%;padding:var(--rg-space-3) 0;background:none;border:0;border-top:1px solid var(--rg-color-border);color:var(--rg-color-text);font-family:var(--rg-font-header);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:1.0625rem;text-align:left;cursor:pointer}.hotels-toggle:hover{color:var(--rg-ultraviolet)}.hotels-toggle:focus-visible{outline:2px solid var(--rg-ultraviolet);outline-offset:2px}.hotels-caret{flex:none;width:1.1rem;height:1.1rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm);font-family:var(--rg-font-body);font-weight:500;font-size:.875rem;line-height:1;color:var(--rg-color-text-muted)}.hotels-toggle:hover .hotels-caret{border-color:currentColor;color:inherit}.hotels-count{margin-left:auto;font-family:var(--rg-font-body);font-weight:400;font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--rg-color-text-muted)}.hotels-body{padding-bottom:var(--rg-space-2)}.hotel-list{list-style:none;margin:0;padding:0;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-md);background:var(--rg-color-surface);overflow:hidden}.hotel-list li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--rg-space-3);padding:var(--rg-space-3) var(--rg-space-4);border-bottom:1px solid var(--rg-color-border)}.hotel-list li:last-child{border-bottom:0}.hotel-name{font-weight:500}.hotel-meta{font-size:.8125rem;color:var(--rg-color-text-muted)}.tool{max-width:76rem;margin:0 auto;padding:var(--rg-space-6) var(--rg-space-4) var(--rg-space-7)}.tool-head{margin-bottom:var(--rg-space-5)}.tool-head h1{font-family:var(--rg-font-header);font-weight:600;text-transform:uppercase;font-size:1.75rem;margin:0 0 .25rem}.tool-grid{display:grid;grid-template-columns:minmax(18rem,22rem) minmax(0,1fr);gap:var(--rg-space-6);align-items:start}@media(max-width:60rem){.tool-grid{grid-template-columns:1fr}}.tool-form{display:grid;gap:var(--rg-space-4)}.tool-form fieldset{border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-md);background:var(--rg-color-surface);padding:var(--rg-space-4);margin:0;display:grid;gap:var(--rg-space-3)}.tool-form legend{font-family:var(--rg-font-header);text-transform:uppercase;letter-spacing:.06em;font-size:.8125rem;font-weight:600;color:var(--rg-color-text-muted);padding:0 .4rem}.tool-form label{display:grid;gap:.3rem;font-size:.875rem}.tool-form label>span{font-weight:500}.tool-form label small{color:var(--rg-color-text-muted);font-weight:400}.tool-form input,.tool-form select{font:inherit;font-size:.9375rem;padding:.45rem .55rem;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm);background:var(--rg-color-surface);color:var(--rg-color-text);min-width:0}.tool-form input:focus-visible,.tool-form select:focus-visible{outline:2px solid var(--rg-ultraviolet);outline-offset:1px}.pair{display:grid;grid-template-columns:1fr auto;gap:.4rem}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--rg-space-3)}.row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--rg-space-3)}.tool-out{display:grid;gap:var(--rg-space-5)}.tool-out[aria-busy=true]{opacity:.65;transition:opacity .15s}.verdict{border:1px solid var(--rg-color-border);border-left:3px solid var(--rg-neutral-300);border-radius:var(--rg-radius-md);background:var(--rg-color-surface);padding:var(--rg-space-4) var(--rg-space-5);display:grid;gap:.15rem}.verdict.good{border-left-color:var(--rg-green)}.verdict.flat{border-left-color:var(--rg-neutral-300)}.verdict-label{font-family:var(--rg-font-header);text-transform:uppercase;letter-spacing:.06em;font-size:.8125rem;font-weight:600;color:var(--rg-color-text-muted)}.verdict strong{font-family:var(--rg-font-header);font-size:2.25rem;line-height:1.05;font-variant-numeric:tabular-nums}.verdict.good strong{color:#1d7a46}.verdict-note{font-size:.875rem;color:var(--rg-color-text-muted)}.folio h2{font-family:var(--rg-font-header);font-weight:600;text-transform:uppercase;font-size:1.0625rem;margin:0 0 .15rem}.folio>.muted{margin:0 0 var(--rg-space-3);font-size:.875rem}.scroller{overflow-x:auto;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-md);background:var(--rg-color-surface)}table.lines{width:100%;min-width:34rem;border-collapse:collapse;font-size:.875rem}table.lines th,table.lines td{padding:.5rem .7rem;text-align:left}table.lines thead th{font-family:var(--rg-font-header);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;color:var(--rg-color-text-muted);background:var(--rg-color-surface-muted);border-bottom:1px solid var(--rg-color-border);white-space:nowrap}table.lines tbody td{border-bottom:1px solid var(--rg-color-border)}table.lines .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.lines .muted{font-size:.8125rem}table.lines tbody tr.levy td{color:var(--rg-color-text-muted)}table.lines tfoot th,table.lines tfoot td{border-top:1px solid var(--rg-color-border);font-weight:500;white-space:nowrap}table.lines tfoot tr.keeps th,table.lines tfoot tr.keeps td{border-top:0;background:var(--rg-color-surface-muted)}.hint{margin:0;font-size:.875rem;line-height:1.55;color:var(--rg-neutral-700);max-width:62ch}.cal{--cal-bg: #01032f;--cal-gold: #ebb953;--cal-event: #56bc6c;--cal-holiday: #eb473d;--cal-demand: #f0965b;--cal-restriction: #cefd85;--cal-dim: rgba(255, 255, 255, .45);--cal-line: rgba(255, 255, 255, .12);background:var(--cal-bg);color:#fff;min-height:calc(100vh - 3.5rem);padding:clamp(1.25rem,3vw,2.5rem)}.cal-sheet{display:grid;grid-template-columns:minmax(10rem,13rem) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);max-width:100rem;margin:0 auto}@media(max-width:60rem){.cal-sheet{grid-template-columns:minmax(0,1fr);gap:1.25rem}.cal-legend{flex-direction:row;flex-wrap:wrap;gap:.6rem 1.3rem;margin-top:.4rem}}.cal-title h1{font-family:var(--rg-font-header);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.3rem,2.2vw,1.9rem);margin:0;color:#fff}.cal-year{font-family:var(--rg-font-header);font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1;margin:.1rem 0 0;color:var(--cal-gold);font-variant-numeric:tabular-nums}.cal-controls{display:grid;gap:.6rem;margin-top:var(--rg-space-5)}.cal-controls label{display:grid;gap:.25rem;font-size:.8125rem;color:var(--cal-dim)}.cal-controls select{font:inherit;font-size:.9375rem;padding:.4rem .5rem;background:#ffffff0f;color:#fff;border:1px solid var(--cal-line);border-radius:var(--rg-radius-sm)}.cal-controls select:focus-visible{outline:2px solid var(--cal-gold);outline-offset:1px}.cal-controls option{background:#11143a;color:#fff}.cal-legend{list-style:none;margin:clamp(1.6rem,4vw,2.8rem) 0 0;padding:0;display:flex;flex-direction:column;gap:.7rem;font-size:.8125rem}.cal-legend li{display:flex;align-items:center;gap:.7rem}.cal-legend .key{flex:none;width:34px;display:flex;justify-content:center}.cal-legend .pill{width:34px;height:15px;border-radius:var(--rg-radius-pill)}.cal-legend .pill.event{background:var(--cal-event)}.cal-legend .pill.holiday{background:var(--cal-holiday)}.cal-legend .rule{width:34px;height:3px;border-radius:2px;background:var(--cal-demand)}.cal-legend .sup{color:var(--cal-restriction);font-weight:700;font-size:.7rem}.cal-readonly,.cal .alert{margin-top:var(--rg-space-5);font-size:.8125rem;line-height:1.5;color:var(--cal-dim)}.cal-frame{min-width:0}.cal-year-grid{display:grid;align-items:start;transform-origin:top left}.cal-sheet:not(.is-fit) .cal-frame{overflow-x:auto}.cal-month h2{font-family:var(--rg-font-header);font-weight:600;font-size:clamp(1rem,1.45vw,1.4rem);letter-spacing:.05em;text-transform:uppercase;color:var(--cal-gold);text-align:center;margin:0 0 .75rem}.grid7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal .dow{font-weight:700;font-size:.76rem;text-align:center;color:#fff;padding-bottom:.5rem}.cal-week{margin-bottom:.15rem}.cal .day{position:relative;background:none;border:0;padding:.2rem 0;font-family:var(--rg-font-body);font-size:.95rem;color:#fff;text-align:center;cursor:pointer;border-radius:var(--rg-radius-sm)}.cal .day:hover{background:#ffffff14}.cal .day:focus-visible{outline:2px solid var(--cal-gold);outline-offset:-2px}.cal .day.event{color:var(--cal-event)}.cal .day.holiday{color:var(--cal-holiday)}.cal .day.blank{visibility:hidden;cursor:default}.cal .day.today .n{box-shadow:0 0 0 1.5px #ebb953cc;border-radius:50%;padding:.1rem .28rem}.cal .day sup{position:absolute;top:.05rem;margin-left:.05rem;font-size:.6rem;font-weight:700;color:var(--cal-restriction)}.cal .rules{height:5px}.cal .rules i{height:2.5px;border-radius:2px;background:var(--cal-demand);align-self:center}.cal .labels{margin-bottom:.25rem}.cal .labels span{font-size:.6rem;line-height:1.35;text-align:center;white-space:nowrap;overflow:visible}.cal .labels .event{color:var(--cal-event)}.cal .labels .holiday{color:var(--cal-holiday)}.cal-drawer{position:fixed;top:0;right:0;bottom:0;width:min(24rem,100vw);background:#11143a;color:#fff;border-left:1px solid var(--cal-line);box-shadow:-12px 0 40px #00000073;padding:var(--rg-space-5);overflow-y:auto;display:grid;gap:var(--rg-space-4);align-content:start;z-index:20}.cal-drawer header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.cal-drawer header strong{font-size:.9375rem}.cal-drawer button{background:none;border:1px solid var(--cal-line);color:#fff;border-radius:var(--rg-radius-pill);padding:.2rem .7rem;font-size:.8125rem;cursor:pointer}.cal-drawer .muted{color:var(--cal-dim);font-size:.8125rem;margin:0}.cal-item{display:grid;gap:.3rem;justify-items:start;padding-bottom:var(--rg-space-4);border-bottom:1px solid var(--cal-line)}.cal-item .name{font-weight:500}.cal-item .name.event{color:var(--cal-event)}.cal-item .name.holiday{color:var(--cal-holiday)}.cal-item .tag{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .45rem;border-radius:var(--rg-radius-sm)}.cal-item .tag.demand{background:#f0965b2e;color:var(--cal-demand)}.cal-item .tag.restrict{background:#cefd8526;color:var(--cal-restriction)}.cal-print{margin-top:var(--rg-space-4);background:#ffffff12;border:1px solid var(--cal-line);color:#fff;font-family:var(--rg-font-header);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600;padding:.45rem .9rem;border-radius:var(--rg-radius-pill);cursor:pointer;justify-self:start}.cal-print:hover{border-color:var(--cal-gold);background:#ffffff1c}@media print{.topbar,.cal-controls,.cal-export,.cal-hint,.cal-drawer{display:none!important}.cal-year-grid{transform:none!important;margin-bottom:0!important}.cal-frame{overflow:visible!important}.cal{background:var(--cal-bg)!important;min-height:auto;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cal .day{cursor:default}.cal .day.picking{background:none}.cal-year-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}@page{size:landscape;margin:10mm}}.tool-bar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--rg-space-4);margin-bottom:var(--rg-space-5)}.tool-bar label{display:grid;gap:.25rem;font-size:.8125rem}.tool-bar label>span{font-weight:500}.tool-bar select{font:inherit;font-size:.9375rem;padding:.45rem .55rem;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm);background:var(--rg-color-surface);color:var(--rg-color-text);min-width:13rem;max-width:20rem}.tool-bar select:focus-visible{outline:2px solid var(--rg-ultraviolet);outline-offset:1px}.tool-bar select:disabled{opacity:.5}.tool-bar label.inline{display:flex;align-items:center;gap:.45rem;font-size:.8125rem;color:var(--rg-color-text-muted);padding-bottom:.5rem}.tool-bar label.inline>span{font-weight:400}.zoom{display:flex;align-items:center;gap:.3rem;padding-bottom:.35rem}.zoom button{font:inherit;font-size:.8125rem;line-height:1;padding:.35rem .6rem;background:var(--rg-color-surface);color:var(--rg-color-text);border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm);cursor:pointer}.zoom button:hover{background:var(--rg-color-surface-muted)}.zoom span{width:2.75rem;text-align:center;font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--rg-color-text-muted)}.tree-frame{overflow:auto;max-height:40rem;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-md);background:var(--rg-color-surface-muted)}.tree-canvas{position:relative;transform-origin:top left;color:var(--rg-color-border)}.tree-canvas>svg{position:absolute;top:0;right:0;bottom:0;left:0}.rate-node{position:absolute;display:flex;flex-direction:column;justify-content:center;gap:.15rem;padding:.35rem .7rem;box-sizing:border-box;background:var(--rg-color-surface);border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-md);box-shadow:var(--rg-shadow-sm)}.rate-node.is-root{border-color:var(--rg-ultraviolet);box-shadow:0 0 0 1px #421ec24d,var(--rg-shadow-sm)}.rate-node-top{display:flex;align-items:center;gap:.35rem;min-width:0}.rate-node-name{font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rate-node-base{flex:none;font-size:.5625rem;font-weight:700;letter-spacing:.04em;padding:0 .25rem;border-radius:3px;background:#421ec226;color:var(--rg-ultraviolet)}.rate-node-meta{display:flex;align-items:center;gap:.35rem;overflow:hidden;font-size:.625rem;color:var(--rg-color-text-muted)}.rate-node-meta .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rate-node-group{flex:none;padding:0 .25rem;border-radius:3px;font-size:.5625rem;color:#fff}.edge-label{position:absolute;transform:translate(-50%,-50%);padding:.05rem .3rem;font-size:.6875rem;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;background:var(--rg-color-surface);border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm)}.edge-label.up{color:#1d7a46}.edge-label.down{color:#b4232a}.edge-label.same,.edge-label.unknown{color:var(--rg-color-text-muted)}.orphans{margin-bottom:var(--rg-space-4);padding:var(--rg-space-3) var(--rg-space-4);border:1px solid rgba(244,182,57,.5);border-radius:var(--rg-radius-md);background:#f4b63914}.orphans p{margin:0;font-size:.8125rem;line-height:1.5}.orphans p.muted{margin-top:.25rem;color:var(--rg-color-text-muted)}.notice-muted{margin:0;padding:var(--rg-space-4);border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-md);background:var(--rg-color-surface);font-size:.9375rem;line-height:1.55;color:var(--rg-neutral-700);max-width:66ch}.cal-check{display:flex!important;align-items:start;gap:.5rem;font-size:.8125rem;line-height:1.4;color:var(--cal-dim);cursor:pointer}.cal-check input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.cal-check .box{flex:none;width:.95rem;height:.95rem;margin-top:.1rem;border:1px solid var(--cal-line);border-radius:3px;background:#ffffff0f;position:relative}.cal-check input:checked+.box{background:var(--cal-gold);border-color:var(--cal-gold)}.cal-check input:checked+.box:after{content:"";position:absolute;left:.25rem;top:.1rem;width:.25rem;height:.45rem;border:solid var(--rg-midnight);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.cal-check input:focus-visible+.box{outline:2px solid var(--cal-gold);outline-offset:2px}.cal-check>span:last-child{font-weight:400}.cal-field{display:grid;gap:.25rem;font-size:.8125rem}.cal-field>span{color:var(--cal-dim)}.cal-seg{display:flex;gap:2px;padding:2px;background:#ffffff0f;border:1px solid var(--cal-line);border-radius:var(--rg-radius-sm)}.cal-seg button{flex:1;font:inherit;font-size:.8125rem;line-height:1.3;padding:.3rem .5rem;background:none;color:var(--cal-dim);border:0;border-radius:calc(var(--rg-radius-sm) - 1px);cursor:pointer;white-space:nowrap}.cal-seg button:hover:not(.on):not(:disabled){color:#fff}.cal-seg button.on{background:#ffffff21;color:#fff}.cal-seg button:focus-visible{outline:2px solid var(--cal-gold);outline-offset:-1px}.cal-seg button:disabled{opacity:.4;cursor:default}.cal-export{display:grid;gap:.5rem;margin-top:var(--rg-space-5);justify-items:stretch}.cal-export label{display:grid;gap:.25rem;font-size:.75rem;color:var(--cal-dim)}.cal-export select{font:inherit;font-size:.8125rem;padding:.35rem .45rem;width:100%;background:#ffffff0f;color:#fff;border:1px solid var(--cal-line);border-radius:var(--rg-radius-sm)}.cal-export option{background:#11143a;color:#fff}.cal-export-row{display:flex;gap:.4rem}.cal-export button{flex:1;font:inherit;font-size:.8125rem;padding:.4rem .6rem;background:none;border:1px solid var(--cal-line);border-radius:var(--rg-radius-sm);color:#fff;cursor:pointer}.cal-export button:hover{border-color:var(--cal-gold);background:#ffffff12}.cal-export button:disabled{opacity:.5;cursor:default}.cal-year-grid.can-edit .day{cursor:cell}.cal-year-grid.can-edit .day{touch-action:none}.cal-year-grid.is-picking{-webkit-user-select:none;user-select:none}.cal .day.picking{background:#ebb95338;border-radius:2px}.cal .day.picking .n{color:#fff}.cal-hint{margin:var(--rg-space-5) 0 0;font-size:.75rem;line-height:1.5;color:var(--cal-dim)}.cal-form{display:grid;gap:var(--rg-space-3)}.cal-form label{display:grid;gap:.25rem;font-size:.8125rem}.cal-form label>span{color:var(--cal-dim)}.cal-form input[type=text],.cal-form input:not([type]),.cal-form input[type=date],.cal-form input[type=number],.cal-form select{font:inherit;font-size:.9375rem;padding:.45rem .55rem;background:#ffffff12;color:#fff;border:1px solid var(--cal-line);border-radius:var(--rg-radius-sm);min-width:0}.cal-form input:focus-visible,.cal-form select:focus-visible{outline:2px solid var(--cal-gold);outline-offset:1px}.cal-form option{background:#11143a;color:#fff}.cal-form input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.6}.cal-form-dates{display:grid;grid-template-columns:1fr 1fr;gap:var(--rg-space-3)}.cal-form-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.cal-form-actions button{font:inherit;font-size:.8125rem;padding:.4rem .9rem;border-radius:var(--rg-radius-sm);background:#ffffff12;border:1px solid var(--cal-line);color:#fff;cursor:pointer}.cal-form-actions button.primary{background:var(--rg-golden);border-color:var(--rg-golden);color:var(--rg-midnight);font-weight:500}.cal-form-actions button.danger{margin-left:auto;background:none;border-color:#eb473d80;color:#ff8e86}.cal-form-actions button:disabled{opacity:.55;cursor:default}.cal-drawer-add{display:flex;flex-wrap:wrap;gap:.5rem}.cal-drawer-add button{font:inherit;font-size:.8125rem;padding:.4rem .9rem;border-radius:var(--rg-radius-pill);background:#ffffff12;border:1px solid var(--cal-line);color:#fff;cursor:pointer}.cal-drawer-add button.ghost{background:none;color:var(--cal-dim)}.cal-drawer-add button:hover{border-color:var(--cal-gold)}.cal-item button.link{background:none;border:0;padding:0;font:inherit;font-size:.8125rem;color:var(--cal-gold);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.ota-counts{display:flex;flex-wrap:wrap;gap:.4rem;padding-bottom:.35rem}.ota-count{font-size:.8125rem;padding:.25rem .55rem;border-radius:var(--rg-radius-pill);border:1px solid var(--rg-color-border);color:var(--rg-color-text-muted)}.ota-count strong{font-variant-numeric:tabular-nums;color:var(--rg-color-text)}.ota-count.ok{border-color:#35b56b73}.ota-count.silent{border-color:#f4b6398c}.ota-count.undeclared{border-color:#b4232a66}table.ota-table{width:100%;min-width:48rem;border-collapse:collapse;font-size:.9375rem}table.ota-table thead th{font-family:var(--rg-font-header);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600;color:var(--rg-color-text-muted);text-align:left;padding:.7rem 1rem;background:var(--rg-color-surface-muted);border-bottom:1px solid var(--rg-color-border);white-space:nowrap}table.ota-table tbody td{padding:.75rem 1rem;border-bottom:1px solid var(--rg-color-border);background:var(--rg-color-surface);vertical-align:top}table.ota-table tbody tr:last-child td{border-bottom:0}table.ota-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.ota-table tbody tr.silent td:first-child{box-shadow:inset 3px 0 0 var(--rg-golden)}table.ota-table tbody tr.undeclared td:first-child{box-shadow:inset 3px 0 #b4232a}.ota-name{font-weight:500}.ota-tag{display:inline-block;margin-left:.4rem;font-size:.6875rem;padding:.05rem .35rem;border-radius:var(--rg-radius-sm);background:var(--rg-color-surface-muted);color:var(--rg-color-text-muted);white-space:nowrap}.ota-state{font-size:.8125rem;white-space:nowrap}.ota-state.ok{color:#1d7a46}.ota-state.silent{color:#7a5200}.ota-state.undeclared{color:#b4232a}.ota-promos{display:flex;flex-wrap:wrap;gap:.3rem}.ota-promo{display:inline-flex;align-items:baseline;gap:.3rem;font-size:.8125rem;padding:.1rem .4rem;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm)}.ota-promo b{font-variant-numeric:tabular-nums;color:var(--rg-color-text-muted);font-weight:500}.ota-window{margin:.6rem 0 0;font-size:.8125rem;color:var(--rg-color-text-muted)}.ota-note{margin-top:var(--rg-space-6);padding:var(--rg-space-4) var(--rg-space-5);border:1px solid var(--rg-color-border);border-left:3px solid var(--rg-ultraviolet);border-radius:var(--rg-radius-md);background:var(--rg-color-surface);max-width:68ch}.ota-note h2{font-family:var(--rg-font-header);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:1rem;margin:0 0 .5rem}.ota-note p{margin:0 0 .6rem;font-size:.875rem;line-height:1.6;color:var(--rg-neutral-700)}.ota-note p:last-child{margin-bottom:0}.ota-vis{margin-top:var(--rg-space-6)}.ota-vis>h2,.ota-vis-empty h2,.ota-pending h2{font-family:var(--rg-font-header);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:1.125rem;margin:0 0 var(--rg-space-4)}.ota-vis-channel{margin-bottom:var(--rg-space-6)}.ota-vis-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--rg-space-3);margin-bottom:var(--rg-space-3)}.ota-vis-head h3{font-family:var(--rg-font-header);font-weight:600;text-transform:uppercase;font-size:1rem;margin:0}.ota-vis-head .muted{font-size:.8125rem;font-variant-numeric:tabular-nums}.ota-findings{list-style:none;margin:0 0 var(--rg-space-4);padding:0;display:grid;gap:.5rem}.ota-findings li{padding:var(--rg-space-3) var(--rg-space-4);border:1px solid var(--rg-color-border);border-left:3px solid var(--rg-neutral-300);border-radius:var(--rg-radius-md);background:var(--rg-color-surface)}.ota-findings li.problem{border-left-color:#b4232a}.ota-findings li.watch{border-left-color:var(--rg-neutral-300)}.ota-findings strong{display:block;font-size:.9375rem;font-weight:500}.ota-because{display:block;margin-top:.15rem;font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--rg-color-text-muted)}.ota-findings li p{margin:.5rem 0 0;font-size:.875rem;line-height:1.55;color:var(--rg-neutral-700);max-width:64ch}.ota-pending{margin-top:var(--rg-space-5);padding:var(--rg-space-4) var(--rg-space-5);border:1px solid var(--rg-ultraviolet);border-radius:var(--rg-radius-md);background:#421ec20a}.ota-pending>p{margin:0 0 var(--rg-space-4);font-size:.875rem;line-height:1.55;max-width:64ch}.ota-pending>p.muted{margin:var(--rg-space-3) 0 0;font-size:.8125rem}.ota-pending-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:var(--rg-space-3);padding-bottom:var(--rg-space-4)}.ota-pending-row label{display:grid;gap:.25rem;font-size:.75rem}.ota-pending-row label>span{color:var(--rg-color-text-muted)}.ota-pending-row input{font:inherit;font-size:.875rem;padding:.4rem .5rem;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm);background:var(--rg-color-surface);color:var(--rg-color-text);min-width:0}.ota-pending-row input:focus-visible{outline:2px solid var(--rg-ultraviolet);outline-offset:1px}.ota-pending-actions{display:flex;flex-wrap:wrap;gap:.5rem}.ota-pending-actions button{font:inherit;font-size:.875rem;padding:.45rem 1rem;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm);background:var(--rg-color-surface);color:var(--rg-color-text);cursor:pointer}.ota-pending-actions button.primary{background:var(--rg-ultraviolet);border-color:var(--rg-ultraviolet);color:#fff;font-weight:500}.ota-pending-actions button:disabled{opacity:.55;cursor:default}.ota-vis-empty{margin-top:var(--rg-space-6);padding:var(--rg-space-4) var(--rg-space-5);border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-md);background:var(--rg-color-surface);max-width:68ch}.ota-vis-empty p{margin:0 0 .7rem;font-size:.875rem;line-height:1.6;color:var(--rg-neutral-700)}.ota-vis-empty p:last-child{margin-bottom:0}.ota-bookmarklet{display:inline-block;padding:.45rem 1rem;border-radius:var(--rg-radius-sm);background:var(--rg-midnight);color:var(--rg-golden);font-family:var(--rg-font-header);text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem;font-weight:600;text-decoration:none;cursor:grab}.ota-bookmarklet:hover{background:#11143a}.ota-collect-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.ota-copy{font:inherit;font-size:.8125rem;padding:.4rem .8rem;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm);background:var(--rg-color-surface);color:var(--rg-color-text);cursor:pointer}.ota-copy:hover{border-color:var(--rg-ultraviolet)}.ask{display:grid;grid-template-columns:minmax(11rem,15rem) minmax(0,1fr);gap:var(--rg-space-5);max-width:76rem;margin:0 auto;padding:var(--rg-space-5) var(--rg-space-4);height:calc(100vh - 3.5rem)}@media(max-width:52rem){.ask{grid-template-columns:minmax(0,1fr);height:auto}.ask-side{display:none}}.ask-side{display:flex;flex-direction:column;gap:var(--rg-space-3);min-height:0}.ask-new{font:inherit;font-family:var(--rg-font-header);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600;padding:.5rem .9rem;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm);background:var(--rg-color-surface);color:var(--rg-color-text);cursor:pointer}.ask-new:hover{border-color:var(--rg-ultraviolet);color:var(--rg-ultraviolet)}.ask-threads{list-style:none;margin:0;padding:0;overflow-y:auto;display:grid;gap:1px}.ask-threads button{width:100%;text-align:left;font:inherit;font-size:.8125rem;line-height:1.4;padding:.5rem .6rem;background:none;border:0;border-radius:var(--rg-radius-sm);color:var(--rg-color-text-muted);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ask-threads button:hover{background:var(--rg-color-surface-muted);color:var(--rg-color-text)}.ask-threads button.on{background:var(--rg-color-surface-muted);color:var(--rg-color-text);font-weight:500}.ask-main{display:flex;flex-direction:column;min-height:0;gap:var(--rg-space-4)}.ask-empty{max-width:56ch}.ask-empty h1{font-family:var(--rg-font-header);font-weight:600;text-transform:uppercase;font-size:1.75rem;margin:0 0 .35rem}.ask-empty p{margin:0 0 var(--rg-space-4);color:var(--rg-color-text-muted)}.ask-empty ul{margin:0;padding:0;list-style:none;display:grid;gap:.4rem}.ask-empty li{font-size:.875rem;padding:.5rem .75rem;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm);background:var(--rg-color-surface);color:var(--rg-neutral-700)}.ask-turns{flex:1;min-height:0;overflow-y:auto;display:grid;gap:var(--rg-space-5);align-content:start}.ask-turn{max-width:68ch}.ask-turn.user{margin-left:auto}.ask-question{margin:0;padding:.6rem .9rem;border-radius:var(--rg-radius-md);background:var(--rg-ultraviolet);color:#fff;font-size:.9375rem;line-height:1.5;white-space:pre-wrap}.ask-text{margin:0 0 .8rem;font-size:.9375rem;line-height:1.65;white-space:pre-wrap}.ask-text:last-child{margin-bottom:0}.ask-warning,.ask-failed{margin:0 0 .8rem;padding:.6rem .8rem;border-radius:var(--rg-radius-sm);font-size:.875rem;line-height:1.55}.ask-warning{background:#f4b6391f;color:#7a5200}.ask-failed{background:#b4232a14;color:#b4232a}.ask-thinking{margin:0;font-size:.875rem;color:var(--rg-color-text-muted)}.ask-metric{display:inline-grid;gap:.1rem;margin:0 .6rem .8rem 0;padding:.6rem .9rem;border:1px solid var(--rg-color-border);border-left:3px solid var(--rg-neutral-300);border-radius:var(--rg-radius-md);background:var(--rg-color-surface)}.ask-metric.good{border-left-color:var(--rg-green)}.ask-metric.bad{border-left-color:#b4232a}.ask-metric span{font-family:var(--rg-font-header);text-transform:uppercase;letter-spacing:.06em;font-size:.6875rem;color:var(--rg-color-text-muted)}.ask-metric strong{font-family:var(--rg-font-header);font-size:1.5rem;line-height:1.1;font-variant-numeric:tabular-nums}.ask-metric em{font-style:normal;font-size:.8125rem;color:var(--rg-color-text-muted)}table.ask-table{width:100%;min-width:24rem;border-collapse:collapse;font-size:.875rem}table.ask-table caption{text-align:left;font-size:.8125rem;color:var(--rg-color-text-muted);padding:.5rem .75rem}table.ask-table th,table.ask-table td{padding:.45rem .75rem;border-bottom:1px solid var(--rg-color-border);text-align:left}table.ask-table thead th{font-family:var(--rg-font-header);text-transform:uppercase;letter-spacing:.05em;font-size:.6875rem;color:var(--rg-color-text-muted);background:var(--rg-color-surface-muted);white-space:nowrap}table.ask-table .num{text-align:right;font-variant-numeric:tabular-nums}.ask-chart{margin:0 0 1rem}.ask-chart figcaption{font-family:var(--rg-font-header);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600;color:var(--rg-color-text-muted);margin-bottom:.4rem}.ask-chart svg{width:100%;height:auto;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-md);background:var(--rg-color-surface)}.ask-grid{stroke:var(--rg-color-border);stroke-width:1}.ask-axis{fill:var(--rg-color-text-muted);font-size:11px;font-family:var(--rg-font-body)}.ask-legend{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1rem}.ask-legend li{display:flex;align-items:center;gap:.4rem;font-size:.8125rem;color:var(--rg-color-text-muted)}.ask-legend i{width:.75rem;height:.2rem;border-radius:1px;flex:none}.ask-sources{margin:.6rem 0 0;font-size:.75rem;color:var(--rg-color-text-muted)}.ask-box{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:var(--rg-space-3);border-top:1px solid var(--rg-color-border)}.ask-box select{font:inherit;font-size:.8125rem;padding:.4rem .5rem;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm);background:var(--rg-color-surface);color:var(--rg-color-text)}.ask-box textarea{flex:1;min-width:12rem;font:inherit;font-size:.9375rem;line-height:1.5;padding:.5rem .65rem;border:1px solid var(--rg-color-border);border-radius:var(--rg-radius-sm);background:var(--rg-color-surface);color:var(--rg-color-text);resize:vertical}.ask-box textarea:focus-visible{outline:2px solid var(--rg-ultraviolet);outline-offset:1px}.ask-box button{font:inherit;font-size:.875rem;font-weight:500;padding:.5rem 1.2rem;border:0;border-radius:var(--rg-radius-sm);background:var(--rg-ultraviolet);color:#fff;cursor:pointer}.ask-box button:disabled{opacity:.5;cursor:default}
