:root,:root[data-theme=lakeshore]{--bg:#0f1c1e;--card:#182b2d;--filled:#203638;--line:#2a4245;--dash:#4a6b6e;--text:#eaf2ef;--muted:#a7bdb8;--accent:#8fd3b0;--on-accent:#0f1c1e;--ok:#8fd3b0;--on-ok:#0f1c1e;--tent:#e6c88f;--danger:#ffb4a8;--holiday:#ff8f80}:root[data-theme=dune]{--bg:#f3ede0;--card:#fffcf5;--filled:#e4eee6;--line:#d9cfbb;--dash:#8c988f;--text:#1f2d2b;--muted:#56645f;--accent:#2f6f5e;--on-accent:#fff;--ok:#2f6f5e;--on-ok:#fff;--tent:#8a5a12;--danger:#a3291a;--holiday:#b3261e}:root[data-theme=dusk]{--bg:#171529;--card:#221f3a;--filled:#2c2850;--line:#37335a;--dash:#5d588a;--text:#eeeafb;--muted:#b1accb;--accent:#b9a8f5;--on-accent:#171529;--ok:#8fd3b0;--on-ok:#171529;--tent:#e6c88f;--danger:#ffb4a8;--holiday:#ff9a8f}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{flex-direction:column;gap:12px;max-width:720px;margin:0 auto;padding:20px 14px 40px;display:flex}.top{flex-direction:column;gap:10px;display:flex}.top-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.show-name{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}h1{margin:2px 0 0;font-size:24px;font-weight:600}.top-actions{gap:6px;display:flex}.icon{border:1px solid var(--line);background:var(--card);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.summary{color:var(--muted);margin:0;font-size:14px}.link{color:var(--accent);background:0 0;border:0;padding:0;text-decoration:underline}.segmented{background:var(--card);border-radius:14px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;padding:4px;display:grid}.segmented button{background:0 0;border:0;border-radius:10px;height:44px;font-size:14px;font-weight:500}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:600}.segmented button.confirm[aria-pressed=true]{background:var(--ok);color:var(--on-ok)}main{flex-direction:column;gap:8px;display:flex}.day{background:var(--card);border-radius:14px;gap:10px;padding:8px;display:flex}.day.is-today{box-shadow:inset 0 0 0 1.5px var(--accent)}.day-label{background:0 0;border:0;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;width:44px;min-height:44px;display:flex}.dow{letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:600}.num{font-size:20px;font-weight:600}.day-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.day-note{color:var(--muted);padding:2px 4px;font-size:13px}.slot-row{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px;display:grid}.slot{text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:44px;padding:6px 12px;display:flex}.slot-text{flex-direction:column;gap:2px;min-width:0;display:flex}.slot-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slot-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;overflow:hidden}.slot-main{font-size:15px}.slot-small{padding:6px 10px;font-size:12px}.slot.is-open{border:1.5px dashed var(--dash);color:var(--muted);background:0 0}.slot-small.is-open{border:1px solid var(--line)}.slot.is-confirmed{background:var(--filled);border:1px solid #0000;font-weight:600}.slot.is-tentative{border:1.5px dashed var(--tent);background:0 0;font-weight:600}.check{background:var(--ok);width:22px;height:22px;color:var(--on-ok);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tent{color:var(--tent);flex-shrink:0;font-size:11px;font-weight:600}.density-roomy .day{padding:14px}.density-roomy .day-body{gap:10px}.density-roomy .slot-main{min-height:56px;font-size:17px}.extras,.sheet{flex-direction:column;gap:10px;display:flex}label,.field-label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}input{border:1px solid var(--line);background:var(--bg);height:44px;color:var(--text);border-radius:10px;padding:0 12px;font-size:16px}.scrim{background:#0000008c;justify-content:center;align-items:flex-end;padding:12px;display:flex;position:fixed;inset:0}.sheet{background:var(--card);border:1px solid var(--line);border-radius:18px;width:100%;max-width:480px;max-height:90vh;padding:16px;overflow:auto}.sheet-head{font-size:16px;font-weight:600}.sheet-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.primary,.ghost{border-radius:12px;height:44px;padding:0 18px;font-size:15px;font-weight:600}.primary{background:var(--accent);color:var(--on-accent);border:0}.ghost{border:1px solid var(--line);background:0 0}.ghost.danger{color:var(--danger);margin-right:auto}.error{color:var(--danger);margin:0;font-size:14px}@media (width>=600px){.scrim{align-items:center}}.slot-small .slot-text{gap:0}.slot-time{color:var(--muted);font-size:11px;font-weight:500}.slot-small{font-size:13px}.month{flex-direction:column;gap:6px;display:flex}.month-row{gap:6px;display:grid}.month-head span{text-align:center;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:600}.cell{background:var(--card);text-align:left;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:space-between;gap:4px;min-width:0;min-height:76px;padding:6px;display:flex}.cell.is-outside{opacity:.45}.cell.is-today{border-color:var(--accent)}.cell-top{justify-content:space-between;align-items:center;display:flex}.cell-num{font-size:15px;font-weight:600}.cell-note{background:var(--muted);border-radius:2px;width:8px;height:8px;display:inline-block}.cell-name{text-overflow:ellipsis;white-space:nowrap;min-height:13px;font-size:11px;line-height:1.2;overflow:hidden}.pips{align-items:center;gap:4px;display:flex}.pip{border-radius:999px;flex-shrink:0;width:10px;height:10px;display:inline-block}.pip-main{width:22px}.pip-confirmed{background:var(--ok)}.pip-tentative{border:2px dashed var(--tent)}.pip-open{border:1px solid var(--dash);opacity:.7}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;padding:6px 2px 0;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.results{flex-direction:column;gap:6px;display:flex}.slot-small .slot-line,.cell-name{white-space:normal;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box}.cell-name{min-height:26px}.cell{justify-content:flex-start;gap:2px;min-height:88px}.cell-name{-webkit-line-clamp:3;line-clamp:3;min-height:0;font-size:12px;font-weight:600}.cell-muted{color:var(--muted);font-weight:400}.cell.has-confirmed{background:var(--filled)}.cell.has-tentative{border:1.5px dashed var(--tent)}.cell .tent{margin-top:auto;font-size:10px}.cell.is-holiday .cell-num,.num.is-holiday,.cell-holiday,.day-holiday{color:var(--holiday)}.cell-holiday{font-weight:500}.cell-name{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
