:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#5c4a57;background:#fff5f8;font-family:Nunito,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}body{background:radial-gradient(circle at 8% -10%,#ffe4f1 0,#0000 42%),radial-gradient(circle at 110% 0,#efe4ff 0,#0000 34%),#fff5f8;min-height:100vh;margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}code{font-family:ui-monospace,Consolas,monospace;font-size:.92em}.page{width:min(1120px,100%);margin:0 auto;padding:16px 16px 108px}.preview-note,.hero,.month,.day-detail,.payments,.gate-card,.detail-card,.key{background:#fff;border-radius:28px;box-shadow:0 10px 30px #c26d9a1f}.preview-note{background:#fff8c9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:flex}.preview-note p{margin:0}.hero{background:linear-gradient(160deg,#ffe3ef,#f4e9ff 55%,#e7f8ee);padding:22px 18px 18px;position:relative;overflow:hidden}.ghost-kao{opacity:.16;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:42px;position:absolute}.ghost-kao.one{top:8px;right:12px}.ghost-kao.two{font-size:28px;bottom:8px;left:12px}.ghost-kao.three{font-size:22px;top:18px;left:42%}.eyebrow{letter-spacing:.01em;margin:0 0 8px;font-weight:800}.hero-title{z-index:1;letter-spacing:-.03em;margin:0;font-size:clamp(1.9rem,7.2vw,2.7rem);font-weight:800;line-height:1.12;position:relative}.title-end{white-space:nowrap}.hero-title .kao{white-space:nowrap;margin-left:.12em;font-family:Segoe UI,Yu Gothic UI,Meiryo,sans-serif;font-size:.82em;font-weight:700}@media (width<=959px){.ghost-kao.one{font-size:18px;top:6px;bottom:auto;right:8px}.ghost-kao.two{font-size:15px;inset:28px 4px auto auto}.ghost-kao.three{font-size:13px;inset:16px 58px auto auto}}.kao,.ghost-kao,.deco,.tray-item,.chip,.detail-emoji{font-family:Segoe UI Emoji,Segoe UI Symbol,Yu Gothic UI,Segoe UI,sans-serif}.participants{margin-top:16px}.participants-label{color:#8a7280;margin:0 0 10px;font-size:.82rem;font-weight:800}.faces{gap:18px;margin-top:12px;display:flex}.participants .faces{justify-content:center;gap:72px;margin-top:0;padding:0 8px}.face-btn{background:0 0;border:0;justify-items:center;gap:4px;padding:0;font-weight:800;display:grid}.face-static{cursor:default}.progress{letter-spacing:-.03em;justify-content:center;margin:22px 0 0;font-size:1.45rem;font-weight:800;line-height:1.2;display:flex}.owe{letter-spacing:-.04em;margin:8px 0 0;font-size:48px;font-weight:800;line-height:1}.owe[data-sign=plus]{color:#2f7d4a}.owe[data-sign=minus]{color:#c45b4a}.net .owe-line{justify-content:flex-start}.hero .net{text-align:center;margin-top:16px}.hero .net .participants-label{text-align:left}.hero .net .owe-line{justify-content:center}.owe-line,.me-line,.hint,.legend-note{justify-content:center;margin:6px 0 0;display:flex}.me-line{margin-top:16px;font-weight:700}.payments>.owe-line:first-child{margin-top:0}.layout{gap:18px;margin-top:32px;display:grid}.calendars,.section-block{gap:18px;display:grid}.section-title{margin:0;font-size:1.45rem}.side-col,.main-col{gap:16px;display:grid}.month,.day-detail,.payments,.side-intro,.key{padding:16px}.key h3{color:#8a7280;margin:0 0 12px;font-size:.82rem;font-weight:800}.month h2,.day-detail h2,.payments h2,.gate-card h1,.sheet h2{margin:0;font-size:1.35rem}.legend,.weekdays,.grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.legend{text-align:center;grid-template-columns:1fr 1fr;gap:8px;font-weight:800}.legend-note{color:#8a7280;text-align:center;font-size:.92rem}.legend-colors{flex-wrap:wrap;gap:12px 16px;font-weight:700}.legend-colors>span{align-items:center;gap:6px;display:inline-flex}.swatch{border-radius:999px;flex:none;width:14px;height:14px}.swatch[data-status=hit]{background:#b7e4c7}.swatch[data-status=miss]{background:#ffb4a2}.swatch[data-status=pending]{background:#e7e0ec}.weekdays{color:#a88b9a;text-align:center;margin-top:12px;font-size:.78rem;font-weight:800}.grid{gap:4px;margin-top:6px}.day{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#fff8fb;border:0;border-radius:16px;flex-direction:column;align-items:center;gap:2px;min-height:68px;padding:4px 2px 6px;display:flex;position:relative}.day[data-holding=true]{transform:scale(.96)}.day-empty{background:0 0;min-height:68px}.day[data-selected=true]{box-shadow:inset 0 0 0 2px #c9b6e4}.day[data-outside=true]{opacity:.38}.day[data-outside=true] .chips{visibility:hidden}.day[data-today=true] .num{text-underline-offset:3px;text-decoration:underline}.mark{letter-spacing:.06em;text-transform:uppercase;color:#c26d9a;font-size:9px;font-weight:800}.num{font-size:.95rem;font-weight:800}.chips{gap:2px;display:flex}.chip{background:0 0;border-radius:999px;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.chip[data-status=hit]{background:#b7e4c7}.chip[data-status=miss]{background:#ffb4a2}.chip[data-status=pending]{background:#e7e0ec}.chip[data-status=upcoming]{opacity:.45}.day[data-pinned=true],.day:hover,.day:focus-visible{z-index:5}.tip{z-index:5;white-space:normal;text-align:left;background:#fff;border-radius:14px;width:max-content;max-width:168px;padding:8px 10px;font-size:.78rem;display:none;position:absolute;bottom:calc(100% + 6px);left:0;right:auto;box-shadow:0 8px 24px #5c4a5729}.day:nth-child(7n+4) .tip,.day:nth-child(7n+5) .tip,.day:nth-child(7n+6) .tip,.day:nth-child(7n) .tip{left:auto;right:0}.grid>:nth-child(-n+7) .tip{top:calc(100% + 6px);bottom:auto}.tip span,.day[data-pinned=true] .tip{display:block}@media (hover:hover){.day:hover .tip,.day:focus-visible .tip{display:block}}.detail-grid{gap:12px;margin-top:12px;display:grid}.detail-card{box-shadow:none;background:#fff8fb;padding:12px}.detail-card header{align-items:center;gap:10px;display:flex}.detail-card h3,.detail-card p{margin:0}.detail-emoji{font-size:1.6rem}.detail-card img,.proof-preview{border-radius:18px;width:100%;margin-top:10px}.detail-card[data-status=hit]{background:#f3fbf6}.detail-card[data-status=miss]{background:#fff1ec}.detail-card[data-status=pending]{background:#f7f4f8}.stack,form{gap:10px;display:grid}label{gap:6px;font-weight:800;display:grid}input,select{background:#fff;border:2px solid #f3d5e4;border-radius:14px;width:100%;padding:12px 14px}.primary,.secondary,.text,.tray-item{border:0;border-radius:999px;font-weight:800}.primary,.secondary{padding:12px 16px}.primary{background:#ffb7d5}.primary:disabled{opacity:.5;cursor:default}.secondary{background:#f7e9ff}.text{background:0 0;padding:8px 4px}.form-error{color:#b64b62;margin:0;font-weight:700}.ledger{gap:8px;margin:8px 0 0;padding:0;list-style:none;display:grid}.pay-row{background:#fff8fb;border-radius:16px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.pay-row strong,.pay-row span{display:block}.pay-row span{color:#8a7280;font-size:.85rem}.pay-row.is-removed{opacity:.6}.pay-row.is-removed strong{text-decoration:line-through}.log-dock{z-index:5;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#fff5f8 30%);position:fixed;bottom:0;left:0;right:0}.log-dock .primary{width:100%}.sheet-backdrop{z-index:10;background:#5c4a5759;align-items:end;display:grid;position:fixed;inset:0}.sheet{padding:18px 16px calc(18px + env(safe-area-inset-bottom));background:#fff;border-radius:28px 28px 0 0;max-height:92vh;overflow:auto}.sheet .day-detail{box-shadow:none;background:0 0;border-radius:0;padding:8px 0 0}.sheet-head,.look-actions,.deco-controls{justify-content:space-between;align-items:center;gap:8px;display:flex}.look-actions,.deco-controls{flex-wrap:wrap;justify-content:flex-start}.camera,.crop-canvas{touch-action:none;background:#5c4a57;border-radius:50%;justify-self:center;width:280px;max-width:100%}.camera{object-fit:cover;height:280px;transform:scaleX(-1)}.decorate-stage{width:280px;height:280px;margin:0 auto;position:relative}.decorate-stage img{object-fit:cover;border-radius:50%;width:210px;height:210px;position:absolute;top:35px;left:35px;box-shadow:0 0 0 4px #fff,0 8px #ffd0e4}.tray{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.tray-item{background:#fff5f8;flex:none;min-width:52px;min-height:48px;padding:6px 10px}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.avatar{position:relative}.avatar-face{background:#ffe3ef;border-radius:50%;place-items:center;width:100%;height:100%;display:grid;overflow:hidden;box-shadow:0 0 0 4px #fff,0 8px #ffd0e4}.avatar-face img{object-fit:cover;width:100%;height:100%}.deco{z-index:1;pointer-events:none;white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1;position:absolute}.deco-live{pointer-events:auto;cursor:grab;touch-action:none}.deco[data-selected=true]{border-radius:8px;outline:2px dashed #c26d9a}.gate{place-items:center;min-height:100vh;padding:24px;display:grid}.gate-card{max-width:460px;padding:24px}.gate-card h1{font-size:1.8rem}.desktop-only{display:none}@media (width>=960px){.page{padding-bottom:32px}.layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.side-col{position:sticky;top:16px}.mobile-only{display:none!important}.desktop-only{display:block}.side-intro{gap:10px;display:grid}.sheet-backdrop{place-items:center}.sheet{border-radius:28px;width:min(480px,100% - 32px)}.detail-grid{grid-template-columns:1fr 1fr}}@media (width<=380px){.owe{font-size:40px}.chip{width:18px;height:18px;font-size:10px}}
