:root{--paper: #fff7f8;--ink: #3a2430;--gold: #d46b8a;--gold-deep: #9c4564;--wash: #fff5f7;--sheet: rgba(255, 247, 248, .92);--on-accent: #fff7f8;--radius: 32px;--wallpaper: url(/wallpapers/blossom.svg);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Outfit,Avenir Next,Segoe UI,sans-serif;color:var(--ink);background:var(--wash);min-height:100dvh}h1,.brand{font-family:Fraunces,Palatino,Georgia,serif;font-weight:560}button,input,textarea{font:inherit}.wallpaper{position:fixed;inset:0;z-index:0;pointer-events:none;background-color:var(--wash);background-image:var(--wallpaper);background-size:cover;background-position:center}.portal{position:fixed;inset:0;z-index:0;display:none;place-items:center;pointer-events:none;transform:translateY(-14vh)}html[data-theme=clock] .portal{display:grid;opacity:.3}html[data-theme=clock]{color-scheme:dark}html[data-theme=clock] .top,html[data-theme=clock] .who,html[data-theme=clock] .leave{color:var(--paper)}html[data-theme=clock] .leave{background:transparent;border-color:#f4efe459}.ring,.core{position:absolute;border-radius:50%}.ring-ticks{width:min(108vw,960px);aspect-ratio:1;background:repeating-conic-gradient(from 0deg,rgba(198,161,91,.9) 0 .7deg,transparent .7deg 10deg);-webkit-mask:radial-gradient(circle,transparent 62%,#000 63.2% 66%,transparent 67.2%);mask:radial-gradient(circle,transparent 62%,#000 63.2% 66%,transparent 67.2%);animation:turn 90s linear infinite}.ring-solid{width:min(74vw,640px);aspect-ratio:1;border:1px solid rgba(198,161,91,.55);box-shadow:inset 0 0 40px #c6a15b14,0 0 70px #14383f73}.ring-inner{width:min(46vw,390px);aspect-ratio:1;border:1px dashed rgba(243,236,223,.38);animation:turn 70s linear infinite reverse}.core{width:min(24vw,190px);aspect-ratio:1;background:radial-gradient(circle,#fff6dd 0 6%,#e7c98a 18%,rgba(198,161,91,.35) 36%,rgba(20,70,78,.15) 58%,transparent 70%);box-shadow:0 0 90px 24px #c6a15b38;animation:breathe 7s ease-in-out infinite}@keyframes turn{to{transform:rotate(1turn)}}@keyframes breathe{50%{transform:scale(1.06);opacity:.86}}@media(prefers-reduced-motion:reduce){.ring-ticks,.ring-inner,.core{animation:none}}app-gate,app-shell{display:block;position:relative;z-index:1}.gate{min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.card,.sheet{background:var(--sheet);color:var(--ink);border-radius:var(--radius);box-shadow:0 24px 70px #3a24301f}.card{width:min(420px,100%);padding:28px 22px 20px}.brand{margin:0;font-size:18px;letter-spacing:.03em}.card h1,.sheet h1{margin:10px 0 0;font-size:clamp(40px,7vw,56px);line-height:.95;letter-spacing:-.03em}.lede,.who{margin:12px 0 0;line-height:1.45}.field-label{display:block;margin-top:22px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}input,textarea{width:100%;margin-top:8px;border:1px solid rgba(28,23,18,.16);background:#fffdf8;color:var(--ink);border-radius:16px;padding:14px 16px}#portal-number{font-size:32px;text-align:center;letter-spacing:.28em;font-variant-numeric:tabular-nums}.solid,.leave{border:0;cursor:pointer}.solid{margin-top:14px;background:var(--ink);color:var(--paper);border-radius:999px;padding:14px 18px}.add-schedule,.dialog-actions .solid,.composer .solid{width:auto}.solid:disabled{opacity:.35;cursor:default}.error{margin:12px 0 0;color:#8c3a2f}.issued{margin-top:22px;padding-top:14px;border-top:1px solid rgba(28,23,18,.1)}.issued p,.kicker{margin:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}.issued p{margin-bottom:8px}.issued-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.issued-row button{display:flex;justify-content:space-between;gap:8px;width:100%;border:0;border-radius:12px;background:#fffdf8cc;color:inherit;padding:10px 12px;cursor:pointer;text-align:left}.issued-row .code{font-variant-numeric:tabular-nums;letter-spacing:.08em}.frame{min-height:100dvh;padding:22px 16px 118px}.top{width:min(760px,100%);margin:0 auto 18px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;color:var(--ink)}.actions{display:flex;gap:8px;align-items:center}.who{margin-top:4px;color:color-mix(in srgb,var(--ink) 72%,transparent)}.leave{background:color-mix(in srgb,var(--paper) 72%,transparent);color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);border-radius:999px;padding:8px 14px}.theme-float{position:fixed;top:16px;right:16px;z-index:3}.sheet{width:min(760px,100%);margin:0 auto;padding:26px 22px 12px}.list{list-style:none;margin:8px 0 0;padding:0}.list li{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:14px 0;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.list strong{display:block}.list p{margin:4px 0 0;line-height:1.45}.pill{font-size:12px;color:var(--gold-deep);border:1px solid color-mix(in srgb,var(--gold-deep) 35%,transparent);border-radius:999px;padding:4px 8px;white-space:nowrap}.block{margin-top:8px}.block h2{margin:18px 0 0;font-family:Fraunces,Palatino,Georgia,serif;font-size:26px;font-weight:560;letter-spacing:-.02em}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:18px}.cal-head{text-align:center;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-deep)}.cal button,.cal .blank{aspect-ratio:1;border-radius:12px}.cal button{border:0;background:#fffdf8bf;color:inherit;cursor:pointer}.cal button.mark{box-shadow:inset 0 0 0 1px #8a684080}.cal button.on{background:var(--ink);color:var(--paper)}.dock{position:fixed;z-index:2;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));display:flex;gap:4px;padding:6px;overflow-x:auto;border-radius:22px;background:color-mix(in srgb,var(--paper) 88%,transparent);border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dock a{display:grid;flex:1 0 4.6rem;place-items:center;min-height:52px;padding:6px 4px;border-radius:16px;color:var(--ink);text-decoration:none;text-align:center;font-size:12px;line-height:1.15}.dock a.on{background:var(--gold);color:var(--on-accent)}.backdrop{position:fixed;inset:0;z-index:5;display:grid;place-items:center;padding:16px;background:#241c2047}.dialog{width:min(520px,100%);max-height:min(720px,calc(100dvh - 32px));overflow:auto;padding:22px 20px 18px;border:0;border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:0 24px 70px #3a24302e}.dialog h2{margin:0;font-family:Fraunces,Palatino,Georgia,serif;font-size:32px;font-weight:560;letter-spacing:-.03em}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.dialog-actions .solid{margin-top:0}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.theme-choice{display:grid;gap:4px;padding:8px;border:1px solid transparent;border-radius:16px;background:transparent;color:inherit;text-align:left;cursor:pointer}.theme-choice.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 14%,white)}.swatch{display:block;height:72px;border-radius:12px;background-color:var(--wash);background-size:cover;background-position:center}.swatch-name{font-weight:600}.swatch-view{font-size:12px;color:var(--gold-deep)}.theme-picker{display:inline-block}@media(min-width:800px){.dock{left:50%;right:auto;width:min(860px,calc(100% - 48px));transform:translate(-50%);bottom:24px}}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
