:root{--paper:#f6f4f0;--surface:#fffefc;--line:#d3ccbf;--line-soft:#e5dfd4;--ink:#1d1b17;--muted:#6d675c;--accent:#1a6b5f;--accent-weak:#d9ece7;--on-accent:#fff;--warn:#9c3f22;--radius:6px}@media (prefers-color-scheme:dark){:root{--paper:#191815;--surface:#211f1b;--line:#3a3630;--line-soft:#2c2924;--ink:#f1eee7;--muted:#a49d90;--accent:#46b39d;--accent-weak:#24413c;--on-accent:#10201d;--warn:#e08a68}}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);-webkit-text-size-adjust:100%;margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.page{flex-direction:column;gap:1.25rem;max-width:62rem;margin:0 auto;padding:1.25rem 1rem 4rem;display:flex}.page-narrow{max-width:32rem}.page.editing{gap:.75rem;height:100dvh;padding-block:.75rem;overflow:hidden}.page.editing .grid-scroll{flex:0 auto;min-height:0;max-height:none}.page.editing .toolbar{padding-top:0;position:static}h1{letter-spacing:-.01em;margin:0;font-size:1.375rem;line-height:1.25}h2{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 .5rem;font-size:.8125rem;font-weight:600}p{margin:0}.hint,.muted{color:var(--muted);font-size:.875rem}.intro p{color:var(--muted);margin-top:.5rem}.meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.875rem}.note{margin-top:.375rem}.banner{border-left:3px solid var(--warn);background:var(--surface);margin-top:.75rem;padding:.5rem .75rem;font-size:.875rem}.field,.field-label{flex-direction:column;gap:.375rem;display:flex}.field>span,.field-label{color:var(--muted);font-size:.8125rem;font-weight:600}.field em,.field-label em{font-style:normal;font-weight:400}input[type=text],input[type=password],input:not([type]),select{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:2.5rem;padding:.5rem .625rem}input:focus-visible,select:focus-visible,button:focus-visible,[role=gridcell]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;cursor:pointer;border-radius:var(--radius);color:inherit;background:0 0;border:1px solid #0000;min-height:2.5rem;padding:.4375rem .75rem}.primary{background:var(--accent);color:var(--on-accent);text-align:center;width:100%;padding:.75rem;font-weight:600;text-decoration:none;display:block}.primary:disabled{opacity:.45;cursor:default}.ghost{border-color:var(--line);background:var(--surface)}.tiny{min-height:2rem;padding:.25rem .5rem;font-size:.8125rem}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.row-sep{color:var(--muted);font-size:.875rem}.row select{flex:1;width:auto}.segmented{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:flex;overflow:hidden}.segmented button{border-right:1px solid var(--line);white-space:nowrap;border-radius:0;flex:1}.segmented button:last-child{border-right:none}.segmented .is-on{background:var(--accent);color:var(--on-accent);font-weight:600}.segmented.small button{min-height:2rem;padding:.25rem .625rem;font-size:.875rem}.check{cursor:pointer;align-items:start;gap:.625rem;display:flex}.check input{width:1.125rem;height:1.125rem;accent-color:var(--accent);margin-top:.25rem}.check em{color:var(--muted);font-size:.875rem;font-style:normal;display:block}.error{border-left:3px solid var(--warn);background:var(--surface);flex-direction:column;gap:.75rem;padding:.75rem;font-size:.9375rem;display:flex}.calendar{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:.5rem}.calendar-head{justify-content:space-between;align-items:center;display:flex}.calendar-head button{min-width:2.5rem;font-size:1.25rem;line-height:1}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-weekday{text-align:center;color:var(--muted);padding-bottom:.25rem;font-size:.75rem}.calendar-day{aspect-ratio:1;font-variant-numeric:tabular-nums;border:1px solid #0000;min-height:2rem;padding:0}.calendar-day:disabled{color:var(--line);cursor:default}.calendar-day.is-on{background:var(--accent);color:var(--on-accent);font-weight:600}.grid-scroll{max-width:calc(2.75rem + var(--cols) * 8rem + 2px);overscroll-behavior:contain;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-height:min(72vh,42rem);overflow:auto}.grid{grid-template-columns:2.75rem repeat(var(--cols), minmax(2.5rem, 1fr));width:100%;min-width:calc(2.75rem + var(--cols) * 2.5rem);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:grid}.grid-corner,.grid-day,.grid-time{background:var(--surface);position:sticky}.grid-corner{z-index:3;top:0;left:0}.grid-day{z-index:2;text-align:center;border-bottom:1px solid var(--line);border-left:1px solid var(--line-soft);padding:.375rem .25rem;line-height:1.2;top:0}.grid-day.is-weekend{color:var(--muted)}.grid-day.is-button{min-height:0;font:inherit;color:inherit;cursor:pointer}.grid-day.is-button .grid-day-name{text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.grid-day.is-button:hover{background:var(--accent-weak)}.grid-end,.grid-end-cell{height:.9375rem}.grid-end{line-height:.9375rem;transform:none}.grid-end-cell{border-top:1px solid var(--line)}.grid-day-name{font-size:.75rem;font-weight:600;display:block}.grid-day-date{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.6875rem;display:block}.grid-time{z-index:1;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;border-right:1px solid var(--line);padding-right:.375rem;font-size:.6875rem;left:0;transform:translateY(-.4em)}.cell{height:var(--row-h);border-top:1px solid var(--line-soft);border-left:1px solid var(--line-soft);background:color-mix(in oklab, var(--accent) calc(var(--fill) * 0.85%), var(--surface));font-variant-numeric:tabular-nums;color:var(--muted);touch-action:manipulation;place-items:center;font-size:.75rem;display:grid}.cell.on-dark{color:var(--on-accent)}.cell.is-hour{border-top-color:var(--line)}.cell.is-yes{background:var(--accent)}.cell.is-maybe{background:repeating-linear-gradient(-45deg, var(--accent) 0 3px, color-mix(in oklab, var(--accent) 25%, var(--surface)) 3px 7px)}.cell.is-painting{box-shadow:inset 0 0 0 2px var(--ink)}.cell-count{pointer-events:none}.grid-bar{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.grid-bar .hint{font-size:.8125rem}.icon{border:1px solid var(--line);background:var(--surface);width:1.75rem;min-height:1.75rem;color:var(--muted);border-radius:999px;flex:none;padding:0;font-size:.8125rem;line-height:1}.row.two{flex-wrap:nowrap;align-items:flex-start;gap:.625rem}.row.two .field{flex:1 1 0;min-width:0}.check.compact{flex:none;align-items:center;gap:.5rem;font-size:.875rem}.check.compact input{width:1rem;height:1rem;margin-top:0}.help{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:calc(100% - 2rem);max-width:26rem;color:var(--ink);font:inherit;padding:1.125rem}.help::backdrop{background:#00000073}.help h2{text-transform:none;letter-spacing:0;color:var(--ink);margin:0 0 .75rem;font-size:1.0625rem}.help ul{flex-direction:column;gap:.5rem;margin:0 0 .75rem;padding-left:1.125rem;font-size:.9375rem;display:flex}.help .hint{margin-bottom:1rem}.help button{width:100%}.toolbar{z-index:5;background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.625rem;padding:.5rem 0;display:flex;position:sticky;top:0}.who{font-weight:600}.status{color:var(--muted);margin-left:auto;font-size:.8125rem}.status.is-failed{color:var(--warn)}.undo{z-index:10;background:var(--ink);color:var(--paper);border-radius:999px;align-items:center;gap:.75rem;padding:.25rem;font-size:.875rem;display:flex;position:fixed;bottom:.875rem;right:1rem;box-shadow:0 4px 16px #0003}.undo button{color:inherit;border:1px solid;min-height:2rem;padding:.25rem .75rem;font-weight:600}.best ol{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.best li{border-left:3px solid var(--accent);background:var(--surface);flex-direction:column;padding:.5rem .75rem;display:flex}.best li:not(:first-child){border-left-color:var(--accent-weak)}.best span{color:var(--muted);font-size:.875rem}.inspect,.signin,.people,.share,.admin{flex-direction:column;gap:.625rem;display:flex}.inspect{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:.875rem}.inspect h2{text-transform:none;letter-spacing:0;color:var(--ink);margin:0;font-size:1rem}.people ul{margin:0;padding:0;list-style:none}.people li{border-bottom:1px solid var(--line-soft);align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.people-name{flex:1}.people em{color:var(--muted);font-size:.8125rem;font-style:normal}.share{flex-flow:wrap;align-items:center;gap:.75rem}.share code{color:var(--muted);word-break:break-all;font-size:.8125rem}.admin{border-top:1px solid var(--line);padding-top:1rem}
