@font-face{font-family:"Baloo 2";src:url(/fonts/baloo2-latin.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:Quicksand;src:url(/fonts/quicksand-latin.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}:root{--bg: #fdf6e3;--surface: #fffdf7;--ink: #2b2118;--muted: #7a6a58;--accent: #e0a800;--accent-ink: #2b2118;--line: #e6d9bd;--danger: #b3402e;--radius: 18px;--plum: #7b4b8a;--plum-mid: #a05fb4;--plum-soft: #f4ebf7;--font-display: "Baloo 2", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Quicksand", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:500 17px/1.45 var(--font-body);-webkit-text-size-adjust:100%}#app{max-width:32rem;margin:0 auto;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));min-height:100dvh;display:flex;flex-direction:column}header{display:flex;align-items:center;gap:.6rem;min-height:3rem;margin-bottom:1rem}header h1{font-family:var(--font-display);font-size:1.3rem;margin:0;font-weight:700;color:var(--plum)}header .mark{width:30px;height:30px;flex:0 0 auto}.hero{text-align:center;margin-bottom:1.25rem}.crest{display:block;width:132px;height:132px;margin:.25rem auto .6rem}.hero h1{font-family:var(--font-display);font-weight:700;font-size:1.75rem;line-height:1.1;margin:0;color:var(--plum)}.back{background:none;border:none;font-size:1.5rem;line-height:1;padding:.5rem;margin-left:-.5rem;color:var(--plum);cursor:pointer}.step-label{color:var(--muted);font-size:.9rem;margin-left:auto}.stack{display:flex;flex-direction:column;gap:.75rem}button.big{width:100%;min-height:4rem;font-family:var(--font-display);font-size:1.25rem;font-weight:600;border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--plum);cursor:pointer;padding:.75rem 1rem;text-align:center;box-shadow:0 2px 0 var(--line)}button.big:active{transform:translateY(1px);box-shadow:none}button.big[aria-pressed=true]{border-color:var(--plum);background:var(--plum-soft)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 2px #b98c00}button.primary:disabled{opacity:.6;cursor:default;box-shadow:none}button.subtle{background:none;border:none;color:var(--muted);text-decoration:underline;padding:.75rem;font:inherit;font-size:1rem;cursor:pointer}button.danger{color:var(--danger)}.spacer{flex:1;min-height:1rem}.dial{position:relative;border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden;box-shadow:0 2px 0 var(--line)}.dial:before,.dial:after{content:"";position:absolute;left:0;right:0;height:5rem;pointer-events:none;z-index:2}.dial:before{top:0;background:linear-gradient(var(--surface),transparent)}.dial:after{bottom:0;background:linear-gradient(transparent,var(--surface))}.dial-scroll{position:relative;z-index:1;height:17.5rem;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}.dial-scroll::-webkit-scrollbar{display:none}.dial-pad{height:7rem}.dial-opt{height:3.5rem;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--muted);opacity:.5;cursor:pointer;transition:opacity .15s,color .15s,font-size .15s}.dial-opt.is-selected{opacity:1;color:var(--plum);font-size:1.6rem}.dial-window{position:absolute;left:.6rem;right:.6rem;top:7rem;height:3.5rem;border:2px solid var(--plum);border-radius:14px;background:var(--plum-soft);pointer-events:none;z-index:0}.group-label{font-family:var(--font-display);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--plum-mid);margin:1rem 0 .5rem}input[type=text],input[type=date],input[type=time],select{width:100%;font:inherit;padding:.9rem;border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid var(--plum-mid);outline-offset:2px}dl.review{margin:0;border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}dl.review>div{display:flex;gap:1rem;padding:.7rem .9rem;border-bottom:1px solid var(--line)}dl.review>div:last-child{border-bottom:none}dl.review dt{color:var(--muted);flex:0 0 8.5rem;font-size:.9rem}dl.review dd{margin:0;flex:1;word-break:break-word}dl.review dd:empty:before{content:"—";color:var(--line)}.entry{border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:.8rem .9rem}.entry h3{margin:0 0 .2rem;font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--plum)}.entry .meta{color:var(--muted);font-size:.9rem}.entry .actions{display:flex;gap:.5rem;margin-top:.6rem}.entry .actions button{flex:1;padding:.6rem;font:inherit;font-size:.95rem;border-radius:12px;border:2px solid var(--line);background:none;color:var(--plum);cursor:pointer}.entry .actions button.danger{color:var(--danger)}.pending{background:var(--plum-soft);border:2px solid var(--plum-mid);border-radius:var(--radius);padding:.7rem .9rem;font-size:.95rem;margin-bottom:1rem}.empty{color:var(--muted);text-align:center;padding:2rem 1rem}
