.rm-msg{padding:60px 0;text-align:center;color:var(--ink-3);font-family:var(--serif);font-style:italic;font-size:18px}.roombar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0 14px;flex-wrap:wrap}.crumbs{display:flex;align-items:baseline;gap:10px;font-family:var(--sans);font-size:13px;color:var(--ink-3);flex-wrap:nowrap;min-width:0}.crumbs .room{white-space:nowrap;font-family:var(--serif);font-weight:700;font-size:34px;color:var(--ink);letter-spacing:-.02em}.crumbs .sep{color:var(--ink-4)}.crumbs .lock{color:var(--accent);font-size:20px;margin-left:4px}.presence{display:flex;align-items:center;gap:14px}.avstack{display:flex}.av{width:34px;height:34px;border-radius:50%;border:2px solid var(--paper);background:var(--ink);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:13px;margin-left:-10px;position:relative;box-shadow:0 1px #0000000f}.av:first-child{margin-left:0}.av.c1{background:#b5572e}.av.c2{background:#3f6a52}.av.c3{background:#4b5f8a}.av.c4{background:#8a4773}.av.c5{background:#7a6a2f}.av.me{background:var(--accent);color:var(--paper);outline:2px dashed var(--ink);outline-offset:1px}.av .dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;background:var(--green);border:2px solid var(--paper)}.presence .names{font-family:var(--sans);font-size:13px;color:var(--ink-3)}.presence .names b{color:var(--ink-2);font-weight:600}.roombar .tools{display:flex;gap:8px}.tbtn{appearance:none;border:1.2px solid var(--ink);background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:500;font-size:13px;padding:7px 12px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:transform .12s,background .12s}.tbtn:hover{background:var(--paper-2);transform:translateY(-1px)}.tbtn.primary{background:var(--ink);color:var(--paper)}.room{display:grid;grid-template-columns:1fr 340px;gap:32px;margin-top:18px}@media(max-width:1020px){.room{grid-template-columns:1fr}}.card{background:var(--paper);border:1.5px solid var(--ink);border-radius:18px;padding:22px;position:relative;box-shadow:var(--shadow)}.card .head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:12px;flex-wrap:wrap}.card .head h3{font-family:var(--serif);font-weight:700;font-size:22px;margin:0;letter-spacing:-.01em}.card .head .note{font-family:var(--hand);font-size:19px;color:var(--ink-3);transform:rotate(-.5deg)}.head-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mode-toggle{display:inline-flex;padding:3px;border:1.2px solid var(--ink);border-radius:10px;background:var(--paper);gap:2px}.mode-toggle button{appearance:none;border:none;cursor:pointer;background:transparent;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding:6px 12px;border-radius:7px}.mode-toggle button.on{background:var(--ink);color:var(--paper)}.mode-toggle button:not(.on):hover{background:var(--paper-2)}.mnav{display:flex;gap:0;border:1.2px solid var(--ink);border-radius:8px;overflow:hidden}.mnav button{appearance:none;background:transparent;border:none;cursor:pointer;padding:6px 10px;font-family:var(--mono);font-size:11px;color:var(--ink-2);letter-spacing:.04em}.mnav button+button{border-left:1.2px solid var(--ink)}.mnav button:hover{background:var(--paper-2)}.wcal{display:grid;grid-template-columns:52px repeat(7,1fr);gap:3px;user-select:none}.wcal .wh{font-family:var(--serif);font-weight:700;font-size:13px;text-align:center;padding:6px 2px 8px;border-bottom:1px dashed var(--ink-4);letter-spacing:-.01em}.wcal .wh .dow{font-family:var(--mono);font-weight:500;font-size:10px;color:var(--ink-3);letter-spacing:.06em;display:block;margin-bottom:2px}.wcal .wh.today,.wcal .wh.today .dow{color:var(--accent)}.wcal .hlbl{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);text-align:right;padding:6px 8px 0 0;line-height:1}.wcal .wcell{min-height:30px;border:1px solid rgba(23,22,15,.1);border-radius:5px;background:var(--paper);cursor:pointer;position:relative;transition:transform .08s,border-color .08s}.wcal .wcell:hover{border-color:var(--ink);transform:translateY(-1px)}.wcal .wcell.l1{background:#dd523038;border-color:transparent}.wcal .wcell.l2{background:#dd52306b;border-color:transparent}.wcal .wcell.l3{background:#dd52309e;border-color:transparent}.wcal .wcell.l4{background:#dd5230d1;border-color:transparent}.wcal .wcell.l5{background:#dd5230f5;border-color:transparent}.wcal .wcell.me:after{content:"";position:absolute;inset:3px;border:1.5px dashed var(--ink);border-radius:3px;pointer-events:none}.wlegend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:var(--ink-3);margin-top:14px;padding-top:12px;border-top:1px dashed var(--ink-4)}.wlegend .ramp{display:inline-flex;gap:2px;vertical-align:middle;margin:0 6px}.wlegend .ramp span{width:14px;height:12px;border-radius:2px;display:inline-block}.wlegend .swatch-me{display:inline-block;width:14px;height:12px;border-radius:2px;background:var(--paper);border:1.5px dashed var(--ink);vertical-align:middle;margin:0 4px}.mcal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.mcal .dow{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);letter-spacing:.08em;text-align:center;padding:4px 0;border-bottom:1px dashed var(--ink-4)}.mcal .d{min-height:84px;padding:8px;border:1.2px solid rgba(23,22,15,.12);border-radius:10px;background:var(--paper);cursor:pointer;position:relative;display:flex;flex-direction:column;gap:6px;transition:transform .1s,border-color .1s,background .1s;appearance:none;width:100%;text-align:left;color:var(--ink);font-family:inherit}.mcal .d:hover{transform:translateY(-1px);border-color:var(--ink)}.mcal .d.out{opacity:.35;background:transparent}.mcal .d.today{border-color:var(--accent)}.mcal .d.today .dn{color:var(--accent)}.mcal .d.sel{background:#dd52301a;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft) inset}.mcal .d.has-mine:after{content:"";position:absolute;top:8px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.mcal .d .dn{font-family:var(--serif);font-weight:700;font-size:17px;letter-spacing:-.01em;line-height:1}.mcal .d .meta{font-family:var(--mono);font-size:10px;color:var(--ink-3);line-height:1}.mcal .d .heat{margin-top:auto;display:grid;grid-template-columns:repeat(7,1fr);gap:2px;height:10px}.mcal .d .heat span{display:block;border-radius:2px;background:var(--paper-2);border:1px solid rgba(23,22,15,.08)}.mcal .d .heat span.l1{background:#dd523038;border-color:transparent}.mcal .d .heat span.l2{background:#dd52306b;border-color:transparent}.mcal .d .heat span.l3{background:#dd5230a3;border-color:transparent}.mcal .d .heat span.l4{background:#dd5230d1;border-color:transparent}.mcal .d .heat span.l5{background:#dd5230fa;border-color:transparent}.side{display:flex;flex-direction:column;gap:18px;position:sticky;top:20px}.side h4{font-family:var(--serif);font-weight:700;font-size:17px;margin:0 0 10px;letter-spacing:-.01em}.hstrip-wrap{display:flex;flex-direction:column;gap:4px}.hstrip{display:grid;grid-template-columns:repeat(24,1fr);gap:2px}.hstrip .hr{position:relative;min-height:32px;min-width:0;border:1px solid rgba(23,22,15,.14);border-radius:4px;background:var(--paper-2);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:2px;transition:background .1s,transform .08s,border-color .1s;appearance:none;color:inherit;font-family:inherit;overflow:hidden}.hstrip .hr:hover{transform:translateY(-1px);border-color:var(--ink)}.hstrip .hr.l1{background:#dd523038}.hstrip .hr.l2{background:#dd52306b}.hstrip .hr.l3{background:#dd52309e;border-color:transparent}.hstrip .hr.l4{background:#dd5230d1;border-color:transparent}.hstrip .hr.l5{background:#dd5230f5;border-color:transparent}.hstrip .hr.me:before{content:"";position:absolute;inset:1px;border:1.5px dashed var(--ink);border-radius:3px;pointer-events:none}.hstrip-axis{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--ink-3);padding:0 2px}.saved{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-family:var(--sans);font-size:12px;font-weight:500}.saved .pulse{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 #4d8b508c;animation:pulse 1.8s ease-out infinite}@keyframes pulse{70%{box-shadow:0 0 0 10px #4d8b5000}to{box-shadow:0 0 #4d8b5000}}.best{display:flex;flex-direction:column;gap:8px}.best .it{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:10px 12px;border:1.2px solid var(--ink);border-radius:10px;background:var(--paper);transition:background .12s,transform .1s}.best .it.top{background:linear-gradient(180deg,var(--accent-softer),transparent);border-color:var(--accent)}.best .it .rank{font-family:var(--mono);font-size:11px;color:var(--ink-3);width:20px;text-align:center}.best .it.top .rank{color:var(--accent);font-weight:600}.best .it .when{font-family:var(--serif);font-weight:700;font-size:15px;color:var(--ink);letter-spacing:-.01em}.best .it .when em{display:block;font-style:normal;font-family:var(--sans);font-weight:400;font-size:11px;color:var(--ink-3);margin-top:1px}.best .it .count{font-family:var(--mono);font-size:11px;color:var(--ink-2);text-align:right}.best .it .count b{color:var(--ink);font-weight:600}.best .it.top .count b{color:var(--accent)}.vote-btn{appearance:none;border:1.2px solid var(--ink-4);background:transparent;border-radius:6px;padding:4px 8px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:var(--ink-3);font-family:var(--mono);font-size:11px;transition:all .12s}.vote-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-softer)}.vote-btn.voted{border-color:var(--accent);color:var(--accent);background:#dd52301a}.vote-btn:disabled{opacity:.4;cursor:not-allowed}.vote-btn .vote-count{font-weight:600}.roster{display:flex;flex-direction:column;gap:8px}.r-it{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;transition:background .1s}.r-it:hover{background:var(--paper-2)}.r-it .name{font-size:13.5px;font-family:var(--sans);color:var(--ink-2)}.r-it .name b{font-weight:600;color:var(--ink)}.r-it .meta{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ink-4)}.r-it .meta b{color:var(--green);font-weight:500}.invite-cta{margin-top:6px;display:flex;gap:6px;align-items:center;padding:8px 10px;border:1.2px dashed var(--ink-4);border-radius:8px;font-family:var(--sans);font-size:13px;color:var(--ink-3);cursor:pointer;background:transparent;transition:all .12s;width:100%}.invite-cta:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-softer);border-style:solid}.modal-bg{position:fixed;inset:0;background:#17160f66;backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:40;padding:24px}.modal-bg.open{display:flex;animation:fadeUp .2s ease both}.modal{width:100%;max-width:480px;background:var(--paper);border:1.5px solid var(--ink);border-radius:18px;box-shadow:0 30px 80px -20px #0006;padding:26px;transform:rotate(-.2deg);position:relative}.modal .close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:8px;background:transparent;border:1.2px solid var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}.modal .close:hover{background:var(--paper-2)}.modal h3{font-family:var(--serif);font-weight:900;font-size:28px;margin:0 0 4px;letter-spacing:-.02em}.modal p.sub{margin:0 0 18px;color:var(--ink-3);font-size:13.5px}.link-box{display:flex;gap:8px;border:1.5px solid var(--ink);border-radius:10px;padding:10px 10px 10px 14px;background:var(--paper-2);align-items:center}.link-box input{flex:1;border:none;background:transparent;outline:none;font-family:var(--mono);font-size:13px;color:var(--ink)}.link-box button{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--paper);background:var(--ink);border:none;border-radius:6px;padding:7px 12px;cursor:pointer}.link-box button.copied{background:var(--green)}.join-wrap{display:flex;justify-content:center;padding:60px 0}.join-card{max-width:420px;width:100%;padding:28px}.join-card h3{font-family:var(--serif);font-weight:900;font-size:26px;margin:0;letter-spacing:-.02em}.join-card .field{margin-bottom:12px;position:relative}.join-card .field label{display:block;font-family:var(--mono);font-size:10.5px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.join-card .field input{width:100%;font-family:var(--sans);font-size:15px;border:1.5px solid var(--ink);border-radius:10px;padding:11px 14px;background:var(--paper);outline:none;color:var(--ink)}.join-card .field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cta-row{display:flex;gap:10px;align-items:center}.cta{flex:1;font-family:var(--serif);font-weight:700;font-size:18px;padding:14px 18px;border:1.5px solid var(--ink);border-radius:12px;background:var(--accent);color:var(--paper);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 2px 0 var(--ink);transition:transform .12s ease,box-shadow .12s}.cta:hover{transform:translateY(-1px);box-shadow:0 4px 0 var(--ink)}.cta:disabled{opacity:.6;cursor:wait}.cta .arr{font-family:var(--hand);font-size:24px;transform:translateY(-2px)}.join-mode{display:flex;gap:0;border:1.2px solid var(--ink);border-radius:8px;overflow:hidden;margin-bottom:16px;align-self:flex-start}.join-mode button{appearance:none;background:transparent;border:none;cursor:pointer;padding:7px 14px;font-family:var(--mono);font-size:11px;color:var(--ink-2);letter-spacing:.04em;text-transform:uppercase}.join-mode button+button{border-left:1.2px solid var(--ink)}.join-mode button.on{background:var(--ink);color:var(--paper)}.join-mode button:not(.on):hover{background:var(--paper-2)}.pick-list{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto;margin-bottom:14px;padding:4px;border:1.2px dashed var(--ink-4);border-radius:10px;background:var(--paper-2)}.pick-it{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1.2px solid transparent;border-radius:8px;background:transparent;cursor:pointer;text-align:left;font-family:var(--sans);color:var(--ink-2);transition:background .1s,border-color .1s}.pick-it:hover{background:var(--paper);border-color:var(--ink-4)}.pick-it.selected{background:var(--paper);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.pick-it .av{margin-left:0;width:28px;height:28px;font-size:12px}.pick-name{font-size:14px;color:var(--ink);font-weight:500}.join-err{margin:0 0 12px;padding:8px 12px;border:1.2px solid #b5572e;border-radius:8px;background:#dd52301f;color:#8a3f1f;font-family:var(--sans);font-size:13px}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
