:root{--page: #F3E7D3;--surface: #FFF6E9;--ink: #241A0E;--muted: #8A7A65;--faint: #C0AE97;--nav-idle: #B4A28C;--orange: #FF8800;--tint-amber: #FFE1B8;--tint-cream: #FFE9C7;--tint-pale: #FFF8EE;--zone-a: #E5484D;--zone-b: #18A058;--zone-c: #3E63DD;--water: #0FA3B1;--success: #D3F5E0;--danger: #FFF0F0}*{box-sizing:border-box}body{margin:0;background:var(--page);font-family:Prompt,system-ui,sans-serif;color:var(--ink)}a{color:#e8590c}a:hover{color:#c2410c}input,select,button,textarea{font-family:Prompt,system-ui,sans-serif;color:var(--ink)}input::placeholder{color:var(--faint)}button{cursor:pointer}.app{max-width:430px;margin:0 auto;min-height:100dvh;background:var(--surface);padding-bottom:100px;position:relative;box-shadow:0 0 0 2px var(--ink)}.header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 20px 10px}.header-title{font-size:26px;font-weight:800;line-height:1.15}.header-date{font-size:14px;font-weight:500;color:var(--muted)}.header-dots{display:flex;gap:5px}.header-dot{width:14px;height:14px;border-radius:99px;border:2px solid var(--ink)}.press3:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)!important}.press2:active{transform:translateY(2px);box-shadow:none!important}.toggle-btn{flex:1;height:52px;border:2px solid var(--ink);border-radius:16px;font-size:14px;font-weight:700;box-shadow:0 3px 0 var(--ink);padding:0 4px;background:#fff;color:var(--ink)}.toggle-btn.res{height:48px;border-radius:14px}.zone-btn{flex:1;height:64px;border:2px solid var(--ink);border-radius:16px;font-size:24px;font-weight:800;box-shadow:0 3px 0 var(--ink);background:#fff;color:var(--ink)}.submit-btn{width:100%;height:60px;border:2px solid var(--ink);border-radius:18px;background:var(--orange);color:var(--ink);font-size:20px;font-weight:800;box-shadow:0 4px 0 var(--ink)}.submit-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.dark-btn{border:2px solid var(--ink);background:var(--ink);color:var(--surface);font-weight:700}.field-label{font-weight:700;font-size:15px;margin-bottom:8px}.name-input{width:100%;height:54px;padding:0 16px;font-size:18px;font-weight:600;border:2px solid var(--ink);border-radius:16px;background:#fff;outline:none}.suggest-chip{min-height:44px;padding:8px 16px;border:2px solid var(--ink);border-radius:999px;background:var(--tint-cream);font-size:15px;font-weight:600;box-shadow:0 2px 0 var(--ink)}.known-note{margin-top:10px;font-size:14px;font-weight:600;color:var(--zone-b)}.wrong-card{margin-top:12px;background:var(--danger);border:2px solid var(--zone-a);border-radius:16px;padding:14px 16px;font-size:14px;font-weight:600;color:var(--zone-a)}.register-card{margin-top:12px;background:var(--tint-amber);border:2px solid var(--ink);border-radius:16px;padding:14px 16px}.register-card-text{font-size:15px;font-weight:600}.register-btn{margin-top:10px;height:46px;padding:0 18px;border-radius:14px;font-size:15px}.hist-pill{height:36px;padding:0 14px;border:2px solid var(--ink);border-radius:999px;font-size:13px;font-weight:700;background:#fff;color:var(--ink)}.hist-pill.on{background:var(--ink);color:var(--surface)}.cal-card{background:#fff;border:2px solid var(--ink);border-radius:16px;padding:12px;margin-top:12px}.cal-nav-btn{width:40px;height:40px;border:2px solid var(--ink);border-radius:12px;background:var(--surface);font-size:18px;font-weight:800;box-shadow:0 2px 0 var(--ink)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:10px}.cal-weekday{text-align:center;font-size:12px;font-weight:700;color:var(--muted)}.cal-cell{height:40px;padding:0;border-radius:10px;font-size:14px;font-weight:700}.cal-clear-btn{width:100%;height:40px;margin-top:10px;border:2px solid var(--ink);border-radius:10px;background:var(--surface);font-size:13px;font-weight:700}.empty-note{margin-top:10px;color:var(--muted);font-size:14px;font-weight:500}.day-title{margin-top:18px;font-size:15px;font-weight:800}.subgroup-head{display:flex;align-items:center;gap:7px;margin-top:10px}.subgroup-dot{width:11px;height:11px;border-radius:99px;border:1.5px solid var(--ink)}.subgroup-label{font-size:13px;font-weight:700;color:var(--muted)}.hist-chip{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:2px solid var(--ink);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:600;background:#fff}.hist-chip-dot{width:10px;height:10px;border-radius:99px;border:1.5px solid var(--ink)}.today-group-head{display:flex;align-items:center;gap:8px;margin-top:16px}.today-group-dot{width:12px;height:12px;border-radius:99px;border:2px solid var(--ink)}.today-group-label{font-size:14px;font-weight:700}.today-row{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--ink);border-radius:14px;padding:10px 12px;margin-top:10px}.today-zone-badge{min-width:58px;text-align:center;padding:4px 10px;border-radius:999px;border:2px solid var(--ink);font-size:13px;font-weight:700;color:#fff}.today-name{flex:1;font-size:16px;font-weight:600}.del-btn{width:36px;height:36px;border:2px solid var(--ink);border-radius:10px;background:var(--danger);color:var(--zone-a);font-size:16px;font-weight:700}.pin-card{background:#fff;border:2px solid var(--ink);border-radius:18px;padding:20px;margin-top:8px}.pin-title{font-size:18px;font-weight:800}.pin-note{font-size:13px;font-weight:500;color:var(--muted);margin-top:2px}.pin-input{width:100%;height:54px;margin-top:14px;padding:0 16px;font-size:22px;font-weight:700;letter-spacing:8px;border:2px solid var(--ink);border-radius:14px;outline:none}.pin-unlock-btn{width:100%;height:52px;margin-top:12px;border:2px solid var(--ink);border-radius:14px;background:var(--orange);font-size:16px;font-weight:800;box-shadow:0 3px 0 var(--ink)}.month-select{flex:1;height:50px;border:2px solid var(--ink);border-radius:14px;background:#fff;font-size:16px;font-weight:600;padding:0 12px}.stat-card{flex:1;background:#fff;border:2px solid var(--ink);border-radius:14px;padding:10px 8px;text-align:center}.stat-card.pool{padding:12px}.stat-zone{font-size:13px;font-weight:700}.stat-days{font-size:20px;font-weight:800}.stat-days.pool{font-size:22px}.stat-pool{font-size:12px;font-weight:500;color:var(--muted)}.person-card{background:#fff;border:2px solid var(--ink);border-radius:16px;padding:12px 14px;margin-top:10px}.person-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.person-name{font-size:17px;font-weight:700}.person-total{font-size:18px;font-weight:800}.part-chip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--ink);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600;background:var(--tint-pale)}.part-chip-dot{width:10px;height:10px;border-radius:99px}.pool-row{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--ink);border-radius:14px;padding:12px 14px;margin-top:10px}.pool-row-name{flex:1;font-size:16px;font-weight:700}.pool-row-days{font-size:14px;font-weight:600;color:var(--muted)}.pool-row-money{min-width:70px;text-align:right;font-size:17px;font-weight:800}.export-btn{height:52px;border:2px solid var(--ink);border-radius:14px;font-size:16px;font-weight:700}.export-btn.primary{background:var(--ink);color:var(--surface);box-shadow:0 3px 0 var(--muted)}.export-btn.secondary{background:#fff;box-shadow:0 3px 0 var(--ink)}.settings-card{background:#fff;border:2px solid var(--ink);border-radius:18px;padding:18px;margin-top:14px}.settings-card-title{font-size:16px;font-weight:800}.money-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.money-label{font-size:13px;font-weight:600}.money-input{width:100%;height:48px;margin-top:4px;padding:0 12px;font-size:16px;font-weight:700;border:2px solid var(--ink);border-radius:12px}.save-money-btn{width:100%;height:50px;margin-top:14px;border:2px solid var(--ink);border-radius:14px;background:var(--orange);font-size:15px;font-weight:800;box-shadow:0 3px 0 var(--ink)}.card-head{display:flex;align-items:center;gap:8px}.card-head-dot{width:12px;height:12px;border-radius:99px;border:2px solid var(--ink)}.add-row{display:flex;gap:8px;margin-top:12px}.add-input{flex:1;height:48px;padding:0 12px;font-size:15px;font-weight:600;border:2px solid var(--ink);border-radius:12px;min-width:0}.add-btn{height:48px;padding:0 16px;border-radius:12px;font-size:15px}.name-chip{display:inline-flex;align-items:center;gap:8px;border:2px solid var(--ink);border-radius:999px;padding:6px 8px 6px 14px;font-size:14px;font-weight:600;background:var(--tint-pale)}.name-chip-del{width:24px;height:24px;border:1.5px solid var(--ink);border-radius:99px;background:var(--danger);color:var(--zone-a);font-size:12px;font-weight:700;line-height:1;padding:0}.pin-field-wrap{position:relative;flex:1;min-width:0}.pin-field-wrap .add-input{padding-right:44px;width:100%}.eye-toggle-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;padding:0}.eye-toggle-btn:active{color:var(--ink)}.lock-btn{flex:1;height:50px;border:2px solid var(--ink);border-radius:14px;background:#fff;font-size:15px;font-weight:700;box-shadow:0 3px 0 var(--ink)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;display:flex;background:#fff;border-top:2px solid var(--ink);z-index:40}.nav-btn{flex:1;height:68px;border:none;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.nav-pill{padding:3px 14px;border-radius:999px;font-size:15px;font-weight:700;background:transparent;color:var(--nav-idle)}.nav-pill.on{background:var(--tint-amber);color:var(--ink)}@keyframes toastIn{0%{transform:translate(-50%,-16px);opacity:0}to{transform:translate(-50%);opacity:1}}.toast{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:60;max-width:380px;padding:12px 20px;border:2px solid var(--ink);border-radius:999px;font-size:15px;font-weight:700;box-shadow:0 3px 0 var(--ink);animation:toastIn .25s ease;color:var(--ink)}.toast.ok{background:var(--success)}.toast.warn{background:var(--tint-amber)}.config-card{background:#fff;border:2px solid var(--ink);border-radius:18px;padding:20px;margin:20px}
