:root{--color-bg: #fff7fb;--color-surface: #ffffff;--color-text: #2b2440;--color-muted: #6b6480;--color-primary: #ff5fa2;--color-primary-ink: #ffffff;--color-accent: #4dd0e1;--color-success: #22c55e;--color-warning: #f59e0b;--color-danger: #ef4444;--color-border: #efe3f0;--color-border-solid: #ecd9ec;--font-sans: "Hiragino Maru Gothic ProN", "Zen Maru Gothic", "Rounded Mplus 1c", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-h1: 1.6rem;--fs-h2: 1.2rem;--fs-body: 1rem;--fs-caption: .85rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-pill: 999px;--shadow-soft: 0 6px 18px rgba(255, 95, 162, .15);--shadow-card: 0 4px 14px rgba(43, 36, 64, .08)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--fs-body);color:var(--color-text);background:radial-gradient(1200px 600px at 10% -10%,#ffe3f1 0%,transparent 60%),radial-gradient(1000px 500px at 110% 10%,#defcff 0%,transparent 55%),var(--color-bg);min-height:100vh;line-height:1.6}main{max-width:720px;margin:0 auto;padding:var(--space-6) var(--space-4) var(--space-8)}h1{font-size:var(--fs-h1);margin:0 0 var(--space-4)}h2{font-size:var(--fs-h2);margin:var(--space-6) 0 var(--space-3)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6);margin-bottom:var(--space-4)}.btn{font:inherit;cursor:pointer;border:none;border-radius:var(--radius-pill);padding:var(--space-3) var(--space-6);background:var(--color-primary);color:var(--color-primary-ink);box-shadow:var(--shadow-soft);transition:transform .08s ease,filter .15s ease}.btn:hover{filter:brightness(1.05)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-ghost{background:transparent;color:var(--color-primary);box-shadow:none;border:2px solid var(--color-primary)}.btn-small{padding:var(--space-1) var(--space-3);font-size:var(--fs-caption)}.field{display:block;margin-bottom:var(--space-4)}.field>label{display:block;font-size:var(--fs-caption);color:var(--color-muted);margin-bottom:var(--space-1)}.input,.textarea,input[type=text],input[type=date],input[type=datetime-local],textarea{width:100%;font:inherit;padding:var(--space-3);border:2px solid var(--color-border-solid);border-radius:var(--radius-md);background:#fff}.input:focus,textarea:focus,input:focus{outline:3px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.errors{color:var(--color-danger);background:#fff0f0;border:1px solid #ffd4d4;border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-3) 0;list-style-position:inside}.notice{display:inline-block;color:var(--color-success);font-size:var(--fs-caption);margin-left:var(--space-2)}.share-bar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.share-url{font-family:ui-monospace,monospace;background:#f6f1fb;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);word-break:break-all}.matrix-wrap{overflow-x:auto}table.matrix{border-collapse:collapse;width:100%;min-width:360px}table.matrix th,table.matrix td{border:1px solid var(--color-border-solid);padding:var(--space-2);text-align:center;white-space:nowrap}table.matrix thead th{background:#fde7f2}.choice-toggle{display:inline-flex;gap:var(--space-1)}.choice-btn{font:inherit;cursor:pointer;border:2px solid var(--color-border-solid);background:#fff;border-radius:var(--radius-pill);width:2.2rem;height:2.2rem;line-height:1}.choice-btn[aria-pressed=true][data-choice=maru]{background:var(--color-success);color:#fff;border-color:var(--color-success)}.choice-btn[aria-pressed=true][data-choice=sankaku]{background:var(--color-warning);color:#fff;border-color:var(--color-warning)}.choice-btn[aria-pressed=true][data-choice=batsu]{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.empty{color:var(--color-muted);text-align:center;padding:var(--space-6)}.tabs{display:inline-flex;gap:var(--space-2);margin:var(--space-4) 0}.tab{border:none;background:#f0e7f5;color:var(--color-text);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);cursor:pointer;font:inherit}.tab[aria-selected=true]{background:var(--color-primary);color:#fff}.dtp-row{position:relative}.dtp-root{position:relative;display:inline-block;flex:1 1 14rem;min-width:12rem}.dtp-trigger{width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dtp-trigger-alias{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0;clip:rect(0 0 0 0)}.dtp-popover{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:50;padding:var(--space-4);margin-bottom:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);max-width:min(96vw,560px)}.dtp-body{display:flex;gap:var(--space-4);flex-wrap:nowrap;align-items:flex-start}.dtp-calendar{flex:0 0 auto;width:260px}.dtp-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.dtp-month-label{font-weight:700}.dtp-nav{font:inherit;cursor:pointer;border:2px solid var(--color-border-solid);background:#fff;border-radius:var(--radius-pill);width:2rem;height:2rem;line-height:1}.dtp-nav:hover{border-color:var(--color-primary)}.dtp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1)}.dtp-weekdays{margin-bottom:var(--space-1)}.dtp-weekday{text-align:center;font-size:var(--fs-caption);color:var(--color-muted)}.dtp-blank{visibility:hidden}.dtp-day{font:inherit;cursor:pointer;border:2px solid transparent;background:#fff;border-radius:var(--radius-sm);aspect-ratio:1 / 1;min-width:2rem;line-height:1}.dtp-day:hover{border-color:var(--color-primary)}.dtp-day[aria-pressed=true]{background:var(--color-primary);color:var(--color-primary-ink);border-color:var(--color-primary)}.dtp-cal-footer{margin-top:var(--space-2)}.dtp-time{display:flex;gap:var(--space-2);flex:0 0 auto}.dtp-time-col{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--space-1);max-height:300px;overflow-y:auto;padding-right:var(--space-1);min-width:3.2rem}.dtp-time-cell{font:inherit;cursor:pointer;border:2px solid var(--color-border-solid);background:#fff;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);text-align:center;white-space:nowrap}.dtp-time-cell:hover{border-color:var(--color-primary)}.dtp-time-cell[aria-pressed=true]{background:var(--color-primary);color:var(--color-primary-ink);border-color:var(--color-primary)}@media (max-width: 560px){.dtp-popover{left:0;right:0;max-width:94vw}.dtp-body{flex-wrap:wrap}.dtp-calendar{width:100%}.dtp-time-col{max-height:160px}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#2b244059;padding:var(--space-4)}.confirm-dialog{max-width:min(92vw,360px);margin:0}.confirm-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-4)}.confirm-danger{background:var(--color-danger);color:#fff}.confirm-danger:hover{filter:brightness(1.05)}
