:root{--color-bg:#f2f2f7;--color-bg-elevated:#fff;--color-text:#1c1c1e;--color-text-secondary:#6e6e73;--color-border:#3c3c434a;--color-accent:#fde100;--color-accent-text:#000;--color-danger:#ff3b30;--color-success:#34c759;--tabbar-bg:#ffffffd1;--header-bg:#f2f2f7d1;--color-chip-bg:#3c3c431a;--color-chip-text:var(--color-text-secondary)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#000;--color-bg-elevated:#1c1c1e;--color-text:#fff;--color-text-secondary:#98989d;--color-border:#545458a6;--color-accent:#fde100;--color-accent-text:#000;--color-danger:#ff453a;--color-success:#30d158;--tabbar-bg:#1c1c1ed1;--header-bg:#000000d1;--color-chip-bg:#ffffff24;--color-chip-text:var(--color-text-secondary)}}:root[data-theme=dark]{--color-bg:#000;--color-bg-elevated:#1c1c1e;--color-text:#fff;--color-text-secondary:#98989d;--color-border:#545458a6;--color-accent:#fde100;--color-accent-text:#000;--color-danger:#ff453a;--color-success:#30d158;--tabbar-bg:#1c1c1ed1;--header-bg:#000000d1;--color-chip-bg:#ffffff24;--color-chip-text:var(--color-text-secondary)}*{box-sizing:border-box}html,body{height:100%;scroll-padding-bottom:140px}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif}#root{height:100%}button,input,textarea,select{font-family:inherit;font-size:16px}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-shell--centered{padding:24px 20px calc(24px + env(safe-area-inset-bottom));padding-top:calc(24px + env(safe-area-inset-top));justify-content:center;align-items:center}.app-header{z-index:10;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;background:var(--header-bg);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.app-header h1{text-align:center;margin:0;font-size:20px;font-weight:700}.app-content{padding:16px 16px calc(140px + env(safe-area-inset-bottom));flex:1;width:100%;max-width:640px;margin:0 auto;overflow-y:auto}.tab-bar{z-index:10;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--tabbar-bg);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--color-border);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-bar button{color:var(--color-text-secondary);background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 8px;display:flex;position:relative}.tab-bar button.active{color:var(--color-accent)}.tab-bar .tab-icon{width:24px;height:24px}.tab-bar .tab-label{font-size:11px;font-weight:500}.tab-bar .tab-badge{background:var(--color-danger);color:#fff;text-align:center;border-radius:999px;min-width:17px;height:17px;padding:0 5px;font-size:11px;font-weight:700;line-height:17px;position:absolute;top:0;left:calc(50% + 4px)}.card{background:var(--color-bg-elevated);border-radius:14px;margin-bottom:16px;padding:16px;box-shadow:0 1px 2px #0000000a}.card h2{margin:0 0 12px;font-size:17px;font-weight:600}.field{margin-bottom:12px;display:block}.field-label{color:var(--color-text-secondary);margin-bottom:4px;font-size:13px;display:block}input[type=text],input[type=email],input[type=password],input[type=datetime-local],textarea{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);border-radius:10px;padding:10px 12px}textarea{resize:vertical;min-height:72px}.checkbox-row{align-items:center;gap:6px;margin:0 12px 8px 0;font-size:15px;display:inline-flex}.checkbox-row input{accent-color:var(--color-accent);width:18px;height:18px}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:15px;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-accent);color:var(--color-accent-text)}.btn-secondary{background:var(--color-border);color:var(--color-text)}.btn-danger{color:var(--color-danger);background:0 0}.btn-block{width:100%}.btn-sm{border-radius:10px;padding:6px 12px;font-size:13px}.btn:disabled{opacity:.5}.task-list{margin:0;padding:0;list-style:none}.task-item-wrapper{border-radius:14px;margin-bottom:12px;position:relative;overflow:hidden}.task-item-delete-action{width:88px;display:flex;position:absolute;top:0;bottom:0;right:0}.task-item-complete-action{width:88px;display:flex;position:absolute;top:0;bottom:0;left:0}.task-item-complete-action button{background:var(--color-success);color:#fff;border:none;flex:1;font-size:13px;font-weight:700}.task-item-delete-action button{background:var(--color-danger);color:#fff;border:none;flex:1;font-size:13px;font-weight:700}.task-item{background:var(--color-bg-elevated);touch-action:pan-y;padding:14px 16px;transition:transform .15s;position:relative;box-shadow:0 1px 2px #0000000a}.task-title{font-size:16px;font-weight:600}.task-meta{color:var(--color-text-secondary);margin:4px 0;font-size:13px}.task-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.task-toolbar{flex-wrap:wrap;gap:10px 12px;display:flex}.task-toolbar .field{flex:100px;min-width:0;margin-bottom:0}.toolbar-select{border:1px solid var(--color-border);background:var(--color-bg);width:100%;min-width:0;color:var(--color-text);border-radius:10px;padding:8px 6px;font-size:12px}.group-heading{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.02em;margin:16px 4px 8px;font-size:13px;font-weight:700}.checklist{margin:8px 0;padding:0;list-style:none}.checklist li{justify-content:space-between;align-items:center;gap:8px;padding:4px 0;font-size:14px;display:flex}.checklist-done{color:var(--color-text-secondary);text-decoration:line-through}.checklist-add{gap:8px;margin-top:6px;display:flex}.checklist-add input{flex:1}.task-description{color:var(--color-text-secondary);white-space:pre-wrap;margin:4px 0;font-size:13px;line-height:1.4}.comment-list{margin:8px 0;padding:0;list-style:none}.comment-list li{border-top:1px solid var(--color-border);padding:8px 0}.comment-list li:first-child{border-top:none}.comment-meta{font-size:13px}.status-select{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:10px;padding:6px 10px}.alert{color:var(--color-danger);background:#ff3b301f;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:14px}.info{color:var(--color-success);background:#34c7591f;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:14px}.muted{color:var(--color-text-secondary);font-size:14px}.chip{background:var(--color-chip-bg);min-width:76px;color:var(--color-chip-text);border:none;border-radius:999px;justify-content:center;align-items:center;margin:0 6px 6px 0;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.chip-active{background:var(--color-accent);color:var(--color-accent-text);font-weight:700}.date-chip--overdue{color:var(--color-danger);background:#ff3b301f}.date-chip{background:var(--color-chip-bg);color:var(--color-chip-text);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;padding:3px 9px;font-size:12px;display:inline-flex}.date-edit-wrapper{display:inline-block;position:relative}.date-edit-trigger{background:var(--color-chip-bg);color:var(--color-chip-text);pointer-events:none;border-radius:999px;align-items:center;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.date-edit-input-overlay{opacity:0;border:none;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.status-badge-select{appearance:none;border:none;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.task-summary{cursor:pointer;text-align:left;width:100%;color:var(--color-text);touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:0;display:flex}.task-summary-main{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.event-type-icon{flex:none;font-size:16px;line-height:1}.task-summary-title{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.create-task-toggle{background:var(--color-accent);color:var(--color-accent-text);border-radius:12px;padding:12px 14px}.create-task-toggle .chevron{color:inherit}.task-item--needs-attention{border-left:4px solid var(--color-danger);padding-left:12px}.chevron{width:18px;height:18px;color:var(--color-text-secondary);flex-shrink:0;transition:transform .15s}.chevron-expanded{transform:rotate(90deg)}.task-details{border-top:1px solid var(--color-border);margin-top:12px;padding-top:12px}.task-details>*{margin-top:12px}.task-details>:first-child{margin-top:0}.section-toggle{cursor:pointer;color:var(--color-text-secondary);background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-size:13px;font-weight:600;display:flex}.theme-toggle{gap:6px;display:flex}.theme-toggle button{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:10px;flex:1;padding:8px;font-size:13px;font-weight:600}.theme-toggle button.active{background:var(--color-accent);color:var(--color-accent-text);border-color:var(--color-accent)}.view-switch{gap:6px;margin:4px 0 12px;display:flex}.view-switch button{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:10px;flex:1;padding:8px;font-size:13px;font-weight:600}.view-switch button.active{background:var(--color-accent);color:var(--color-accent-text);border-color:var(--color-accent)}.cal-nav{align-items:center;gap:6px;margin-bottom:8px;display:flex}.cal-nav-title{text-align:center;flex:1;min-width:0;font-size:15px;font-weight:700}.cal-nav-btn,.cal-nav-today{background:var(--color-chip-bg);color:var(--color-text);border:none;border-radius:10px}.cal-nav-btn{justify-content:center;align-items:center;width:38px;height:34px;display:inline-flex}.cal-nav-today{height:34px;padding:0 12px;font-size:13px;font-weight:600}.cal-empty{margin:0 4px 12px}.group-heading--today{color:var(--color-text)}.month-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.month-weekday{text-align:center;color:var(--color-text-secondary);padding:4px 0;font-size:12px;font-weight:700}.month-day{background:var(--color-bg-elevated);min-width:0;height:46px;color:var(--color-text);border:none;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;font-size:14px;display:flex}.month-day--other{opacity:.45}.month-day--selected{box-shadow:inset 0 0 0 2px var(--color-text)}.month-day--today .month-day-num{background:var(--color-accent);color:var(--color-accent-text);font-weight:700}.month-day-num{border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;display:inline-flex}.month-dots{gap:3px;height:6px;display:flex}.month-dot{background:#5e5ce6;border-radius:50%;width:6px;height:6px}.month-dot--birthday{background:#ff9f0a}.month-dot--task{background:#30b0c7}.paper{--paper-top:#f5e9cb;--paper-bottom:#e6d1a3;--paper-glow:#fff6;--paper-shade:#7a52184d;--paper-ink:#3a2914;--paper-ink-soft:#6b5535;--paper-line:#5c3e1466;--paper-fill:#fffaeb59;--ink-red:#b02a22;--ink-blue:#244f96;--ink-blend:multiply}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .paper{--paper-top:#3b3022;--paper-bottom:#2a2118;--paper-glow:#ffebbe14;--paper-shade:#00000073;--paper-ink:#ecdfc1;--paper-ink-soft:#b9a888;--paper-line:#e8d0a059;--paper-fill:#ffebbe0f;--ink-red:#e0645b;--ink-blue:#86aaf0;--ink-blend:normal}}:root[data-theme=dark] .paper{--paper-top:#3b3022;--paper-bottom:#2a2118;--paper-glow:#ffebbe14;--paper-shade:#00000073;--paper-ink:#ecdfc1;--paper-ink-soft:#b9a888;--paper-line:#e8d0a059;--paper-fill:#ffebbe0f;--ink-red:#e0645b;--ink-blue:#86aaf0;--ink-blend:normal}.paper{--house-roof:#a3543c;--house-roof-dark:#7e3c29;--house-chimney:#8a6a52;--house-floor-attic:#d8c8a0;--house-floor-attic-line:#b9a377;--house-floor-upper:#c99b6a;--house-floor-upper-line:#a97b4d;--house-floor-main:#cf8f5c;--house-floor-main-line:#ac6f3e;--house-window-frame:#6b4a30;--house-window-glass:#bcd9e6;--house-conservatory-frame:#6e8a68;--house-conservatory-glass:#d3ebf0;--house-conservatory-floor:#dfe9de;--house-conservatory-line:#b9cdb5;--house-ground:#7f9a52;--house-ground-dark:#5f7a3c;--house-soil:#8a7256;--house-soil-dark:#6e5940;--house-rug:#8a3b32;--house-fence:#e4d6ac;--house-tree-trunk:#6b4a30;--house-tree-leaf:#6f9a52;--house-tree-leaf-dark:#557a3c;--house-flower-a:#c9695a;--house-flower-b:#d9b64a;--house-garage-door:#93a2ab;--house-garage-door-dark:#71828c;--house-driveway:#a39d90;--house-car:#9c5b4a;--house-shelf-bg:#fffaeb8c;--house-shelf-shadow:inset 0 2px 5px #3a291447, inset 0 0 0 1px #ffffff59;--house-card-bg:linear-gradient(180deg, #fbf5e6, #f3e8cd);--house-card-shadow:0 3px 7px #3a291461, 0 1px 0 #fff9 inset}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .paper{--house-shelf-bg:#0a070480;--house-shelf-shadow:inset 0 2px 5px #00000080, inset 0 0 0 1px #ffffff0f;--house-card-bg:linear-gradient(180deg, #2c2013, #1c140c);--house-card-shadow:0 3px 8px #0009, 0 1px 0 #ffe8ba1a inset;--house-roof:#6e3a29;--house-roof-dark:#4a2418;--house-chimney:#5c4835;--house-floor-attic:#4a3f2c;--house-floor-attic-line:#362d1f;--house-floor-upper:#55402a;--house-floor-upper-line:#3d2e1c;--house-floor-main:#543c26;--house-floor-main-line:#3c2a18;--house-window-frame:#2e2013;--house-window-glass:#4a6270;--house-conservatory-frame:#445240;--house-conservatory-glass:#3f5c63;--house-conservatory-floor:#33392f;--house-conservatory-line:#4a5645;--house-ground:#445c34;--house-ground-dark:#2e3f22;--house-soil:#4a3c2c;--house-soil-dark:#362b1e;--house-rug:#6e3229;--house-fence:#5c5138;--house-tree-trunk:#3c2a18;--house-tree-leaf:#3f5c34;--house-tree-leaf-dark:#2c4322;--house-flower-a:#8a4a3e;--house-flower-b:#93792f;--house-garage-door:#565f64;--house-garage-door-dark:#3c4448;--house-driveway:#4a463e;--house-car:#6b4238}}:root[data-theme=dark] .paper{--house-shelf-bg:#0a070480;--house-shelf-shadow:inset 0 2px 5px #00000080, inset 0 0 0 1px #ffffff0f;--house-card-bg:linear-gradient(180deg, #2c2013, #1c140c);--house-card-shadow:0 3px 8px #0009, 0 1px 0 #ffe8ba1a inset;--house-roof:#6e3a29;--house-roof-dark:#4a2418;--house-chimney:#5c4835;--house-floor-attic:#4a3f2c;--house-floor-attic-line:#362d1f;--house-floor-upper:#55402a;--house-floor-upper-line:#3d2e1c;--house-floor-main:#543c26;--house-floor-main-line:#3c2a18;--house-window-frame:#2e2013;--house-window-glass:#4a6270;--house-conservatory-frame:#445240;--house-conservatory-glass:#3f5c63;--house-conservatory-floor:#33392f;--house-conservatory-line:#4a5645;--house-ground:#445c34;--house-ground-dark:#2e3f22;--house-soil:#4a3c2c;--house-soil-dark:#362b1e;--house-rug:#6e3229;--house-fence:#5c5138;--house-tree-trunk:#3c2a18;--house-tree-leaf:#3f5c34;--house-tree-leaf-dark:#2c4322;--house-flower-a:#8a4a3e;--house-flower-b:#93792f;--house-garage-door:#565f64;--house-garage-door-dark:#3c4448;--house-driveway:#4a463e;--house-car:#6b4238}.paper{color:var(--paper-ink);background-color:var(--paper-bottom);background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .36 0 0 0 0 .26 0 0 0 0 .12 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"), radial-gradient(ellipse at 15% 8%, var(--paper-glow), transparent 55%), linear-gradient(var(--paper-top), var(--paper-bottom));box-shadow:0 1px 3px #0000004d, inset 0 0 38px var(--paper-shade), inset 0 0 0 1px var(--paper-line);border-radius:4px;padding:18px 14px 22px;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;position:relative}.paper-defs{width:0;height:0;position:absolute}.paper button,.paper input,.paper select{font-family:inherit}.paper-head{text-align:center;margin-bottom:16px}.paper-title{letter-spacing:.04em;text-transform:uppercase;border-bottom:3px double var(--paper-line);margin:0;padding-bottom:8px;font-size:26px;font-weight:700}.paper-sub{color:var(--paper-ink-soft);margin:8px 0 14px;font-size:14px;font-style:italic}.paper-h3{letter-spacing:.03em;text-transform:uppercase;color:var(--paper-ink-soft);margin:18px 0 8px;font-size:15px}.paper-empty{text-align:center;color:var(--paper-ink-soft);border:1px dashed var(--paper-line);border-radius:6px;margin:8px 0 16px;padding:14px;font-style:italic}.team-card{text-align:left;border:1px solid var(--paper-line);background:var(--paper-fill);border-radius:6px;margin-bottom:10px;padding:10px 12px}.ink-bar{border:1px solid var(--paper-line);background:#0000000f;border-radius:999px;height:10px;overflow:hidden}.ink-bar>span{background:var(--ink-red);border-radius:999px;height:100%;transition:width .4s;display:block}.ink-bar--team>span{background:var(--ink-blue)}.ink-bar--small{height:6px}.team-row{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;font-size:14px;display:flex}.team-note{color:var(--paper-ink-soft);margin:8px 0 0;font-size:13px;font-style:italic}.member-tiles{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.member-tile{text-align:left;border:1px solid var(--paper-line);background:var(--paper-fill);border-radius:6px;flex:140px;min-width:0;padding:8px 10px}.member-tile--mine{border-color:var(--ink-red)}.member-tile-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;display:flex}.member-tile-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.member-tile-level{border:2px double var(--ink-red);width:22px;height:22px;color:var(--ink-red);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.member-tile-xp{color:var(--paper-ink-soft);margin-top:4px;font-size:11px;display:block}.member-tile-reward{color:var(--paper-ink-soft);margin-top:2px;font-size:11px;font-style:italic;display:block}.chore-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.chore-tile{border:2px solid var(--paper-line);background:var(--paper-fill);border-radius:6px;padding:10px;scroll-margin-bottom:140px;box-shadow:inset 0 0 0 1px #ffffff2e}.chore-tile--done{border-color:var(--ink-blue)}.chore-tile-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.chore-tile-icon{font-size:22px;line-height:1}.chore-tile-title{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;flex:1 0 100%;order:3;min-width:0;font-size:15px;font-weight:700;line-height:1.2}.chore-tile-xp{border:1px dashed var(--paper-line);color:var(--paper-ink-soft);white-space:nowrap;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:12px}.chore-tile-shared{font-size:14px}.chore-tile-cadence{border:1px solid var(--paper-line);color:var(--paper-ink-soft);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px}.chore-tile-note{color:var(--paper-ink-soft);margin:4px 0 0;font-size:12.5px;font-style:italic}.chore-tile-skip{margin-top:8px}.chore-tile-head--compact{cursor:pointer;border-radius:4px;flex-wrap:nowrap;gap:3px;margin-bottom:0;padding:3px}.chore-tile-head--compact:hover,.chore-tile-head--compact:focus-visible{background:#0000000f;outline:none}.chore-tile-head--compact .chore-tile-icon{font-size:16px}.chore-tile-head--compact .chore-tile-title{white-space:nowrap;text-overflow:ellipsis;flex:auto;order:0;font-size:13px;overflow:hidden}.chore-mini-slots{flex-shrink:0;gap:2px;display:flex}.chore-mini-slot{box-sizing:border-box;border-radius:50%;width:7px;height:7px}.chore-mini-slot--empty{border:1.5px dashed var(--paper-line)}.chore-mini-slot--pending{background:var(--paper-ink-soft)}.chore-mini-slot--confirmed{background:var(--ink-blue)}.chore-mini-slot--inactive{border:1px solid var(--paper-line);opacity:.5}.chore-tile-caret{color:var(--paper-ink-soft);flex-shrink:0;font-size:9px}.chore-mini-fraction{color:var(--paper-ink-soft);white-space:nowrap;flex-shrink:0;font-size:10px;font-weight:700}.paper-btn--icon{border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:15px;display:inline-flex}.chore-slots{flex-wrap:wrap;gap:6px;display:flex}.hold-debug{width:100%;color:var(--ink-red);word-break:break-word;margin-top:2px;font-family:monospace;font-size:10px;display:block}.stamp-slot{border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;padding:0;display:inline-flex;position:relative;overflow:visible}.stamp-slot--empty{border:2px dashed var(--paper-line);color:var(--paper-ink-soft);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;font-size:22px;overflow:hidden}.stamp-slot--empty:disabled{opacity:.5}.stamp-slot--holding:after{content:"";background:var(--ink-red);opacity:.35;animation:stamp-fill var(--hold-ms,.28s) linear forwards;border-radius:50%;position:absolute;inset:0}@keyframes stamp-fill{0%{transform:scale(0)}to{transform:scale(1)}}.stamp-mark{width:58px;height:58px;transform:rotate(var(--rot,0deg));mix-blend-mode:var(--ink-blend);filter:url(#stamp-rough);opacity:.92;border:3px double;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-weight:700;line-height:1.05;display:inline-flex;position:relative}.stamp-mark--confirmed{color:var(--ink-red)}.stamp-mark--pending{color:var(--ink-blue);opacity:.7;border-style:dashed}.stamp-date{letter-spacing:.02em;font-size:13px}.stamp-initials{letter-spacing:.08em;font-size:11px}.stamp-counter{border:2px solid var(--ink-blue);background:var(--paper-bottom);width:24px;height:24px;color:var(--ink-blue);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex;position:absolute;bottom:-6px;right:-8px;transform:rotate(-8deg)}.stamp-imprint{display:inline-flex;position:relative}.stamp-extra{border:2px solid var(--paper-ink-soft);background:var(--paper-bottom);width:22px;height:22px;color:var(--paper-ink-soft);border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex;position:absolute;bottom:-6px;left:-8px;transform:rotate(8deg)}.stamper{z-index:5;pointer-events:none;transform-origin:50% 90%;width:46px;height:74px;margin:-58px 0 0 -23px;animation:.78s cubic-bezier(.3,.7,.3,1) both stamper-press;position:absolute;top:50%;left:50%}.stamper:before{content:"";background:linear-gradient(90deg,#6f4220,#b17b45 45%,#6f4220);border-radius:9px 9px 4px 4px;width:18px;height:46px;position:absolute;top:0;left:14px;box-shadow:0 2px 4px #00000059}.stamper:after{content:"";border-bottom:7px solid var(--ink-red);background:linear-gradient(#5b3919,#3a2311);border-radius:6px 6px 10px 10px;width:46px;height:32px;position:absolute;bottom:0;left:0;box-shadow:0 3px 7px #0006}@keyframes stamper-press{0%{opacity:0;transform:translateY(-64px)rotate(-10deg)scale(1.15)}18%{opacity:1}42%{opacity:1;transform:translateY(0)rotate(0)scale(1)}52%{transform:translateY(3px)rotate(0)scaleY(.92)}68%{opacity:1;transform:translateY(-6px)rotate(3deg)scale(1)}to{opacity:0;transform:translateY(-58px)rotate(8deg)scale(1)}}.stamp-imprint--stamp{animation:.4s ease-out .32s both stamp-imprint}@keyframes stamp-imprint{0%{opacity:0;transform:scale(1.45)}55%{opacity:1;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.stamp-imprint--stamp:after{content:"";border:2px solid var(--ink-red);opacity:0;pointer-events:none;border-radius:50%;animation:.5s ease-out .32s both ink-ring;position:absolute;inset:0}@keyframes ink-ring{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.stamp-slot--thump{animation:.28s ease-out .32s both slot-thump}@keyframes slot-thump{0%{transform:translateY(0)}35%{transform:translateY(3px)}to{transform:translateY(0)}}.stamp-imprint--confirm .stamp-counter{animation:.5s cubic-bezier(.2,.8,.3,1) both counter-press}@keyframes counter-press{0%{opacity:0;transform:scale(2.4)rotate(-30deg)}60%{opacity:1;transform:scale(.85)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(-8deg)}}@media (prefers-reduced-motion:reduce){.stamper{display:none}.stamp-imprint--stamp,.stamp-imprint--stamp:after,.stamp-imprint--confirm .stamp-counter,.stamp-slot--thump,.stamp-slot--holding:after{animation:none}}.chore-shared-picker{border:1px dashed var(--paper-line);background:var(--paper-fill);border-radius:6px;margin-top:10px;padding:8px}.chore-shared-picker .edit-actions{margin-top:8px}.stamp-waiting{margin:10px 0 0;padding:0;font-size:12px;list-style:none}.stamp-waiting li{border-top:1px dotted var(--paper-line);flex-direction:column;gap:4px;padding:6px 0;display:flex}.stamp-waiting-text{color:var(--paper-ink-soft)}.stamp-waiting-actions{flex-wrap:wrap;gap:4px;display:flex}.paper-btn{border:1.5px solid var(--paper-line);background:var(--paper-fill);color:var(--paper-ink);border-radius:4px;padding:5px 10px;font-size:12px;font-weight:700}.paper-btn--primary{border-color:var(--ink-blue);color:var(--ink-blue)}.paper-btn--block{width:100%;margin-top:8px;padding:10px;font-size:14px;display:block}.paper-btn--edit{border-style:dashed}.paper-btn--ghost{color:var(--paper-ink-soft);border-style:dotted;font-weight:400}.paper-btn:disabled{opacity:.5}.paper-input{border:1px solid var(--paper-line);background:var(--paper-fill);min-width:0;color:var(--paper-ink);border-radius:4px;padding:7px 8px;font-size:16px}.paper-input--icon{text-align:center;width:56px}.paper-input--num{width:72px}.paper-input--grow{flex:1}.paper-chip{border:1px solid var(--paper-line);background:var(--paper-fill);color:var(--paper-ink);border-radius:999px;padding:4px 10px;font-size:13px}.paper-chip--active{border-color:var(--ink-blue);color:var(--ink-blue);font-weight:700}.view-toggle{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.history-nav{justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;display:flex}.history-nav-week{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.history-entries{margin:0 0 10px;padding:0;list-style:none}.history-entry{border-bottom:1px dotted var(--paper-line);align-items:center;gap:8px;padding:8px 0;display:flex}.history-entry-icon{flex:none;font-size:20px}.history-entry-text{flex-direction:column;flex:auto;gap:2px;min-width:0;font-size:13px;display:flex}.history-entry-meta{color:var(--paper-ink-soft);font-size:11px}.history-entry-xp{color:var(--paper-ink-soft);flex:none;font-size:12px;font-weight:700}.suggestions{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.house{color:var(--paper-ink);margin-bottom:16px}.house-art{width:100%;display:block}.house-art--roof{height:84px}.house-art--window{height:72px}.house-art--conservatory{height:40px}.house-art--ground{height:24px}.house-art--earth{height:16px}.house-art--garden,.house-art--garage{height:56px}.house-art--hallway{height:50px}.house-band-body{background-color:var(--house-floor-main);background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 17px, var(--house-floor-main-line) 17px, var(--house-floor-main-line) 18px);padding:10px 10px 14px}.house-band--attic .house-band-body{background-color:var(--house-floor-attic);background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 17px, var(--house-floor-attic-line) 17px, var(--house-floor-attic-line) 18px)}.house-band--upper .house-band-body{background-color:var(--house-floor-upper);background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 17px, var(--house-floor-upper-line) 17px, var(--house-floor-upper-line) 18px)}.house-walls{border-left:3px solid var(--paper-ink);border-right:3px solid var(--paper-ink);border-bottom:3px solid var(--paper-ink)}.house-band--hallway .house-band-body{background-color:var(--house-floor-main);background-image:repeating-linear-gradient(to bottom, transparent 0 17px, var(--house-floor-main-line) 17px 18px), linear-gradient(to right, transparent 0 28%, var(--house-rug) 28% 72%, transparent 72% 100%)}.house-walls>*+:not(.house-art--ground){border-top:2px solid var(--paper-ink)}.house-row{align-items:stretch;display:flex}.house-row>.house-band{flex:1 1 0;min-width:0}.house-band--conservatory{border-left:2px dashed var(--paper-ink);flex:0 0 36%}.house-band--conservatory .house-band-body{background-color:var(--house-conservatory-floor);background-image:repeating-linear-gradient(to bottom, transparent 0 21px, var(--house-conservatory-line) 21px 22px), repeating-linear-gradient(to right, transparent 0 21px, var(--house-conservatory-line) 21px 22px)}.house-band--basement .house-band-body{background-color:var(--house-soil);background-image:linear-gradient(90deg, transparent 0 49%, var(--house-soil-dark) 49% 51%, transparent 51% 100%), repeating-linear-gradient(to bottom, transparent 0 15px, var(--house-soil-dark) 15px 16px);background-position:0 0,0 0;background-size:44px 32px,100% 32px}.house-outside{flex-direction:column;gap:10px;margin-top:10px;display:flex}.house-band.house-plot{border:2px solid var(--paper-ink);border-radius:6px;flex:auto;min-width:0;overflow:hidden}.house-plot--garden .house-band-body{background:linear-gradient(to bottom, var(--house-ground), var(--house-ground-dark))}.house-plot--garage .house-band-body{background-color:var(--house-driveway);background-image:linear-gradient(#00000014,#0000 40%)}.house-area{background:var(--house-shelf-bg);box-shadow:var(--house-shelf-shadow);border-radius:8px;margin-top:8px;padding:6px}.house-area:first-child{margin-top:0}.house-area-title{color:var(--paper-ink);text-shadow:0 1px #fff6;margin:0 0 6px;font-size:13px;font-weight:700}.house-area .chore-tile{background:var(--house-card-bg);box-shadow:var(--house-card-shadow);border-color:var(--paper-line);padding:7px 5px}.chore-grid--compact{grid-template-columns:minmax(0,1fr);gap:6px}.house-unassigned{margin-top:16px}.chore-editor{border-top:3px double var(--paper-line);margin-top:10px;padding-top:4px}.edit-list{margin:0;padding:0;list-style:none}.edit-row{border-bottom:1px dotted var(--paper-line);flex-direction:column;gap:8px;padding:10px 0;display:flex}.edit-fields{gap:8px;margin-bottom:8px;display:flex}.edit-row .edit-fields{margin-bottom:0}.edit-label{color:var(--paper-ink-soft);flex-direction:column;gap:2px;font-size:12px;display:flex}.edit-label--checkbox{flex-direction:row;align-items:center;gap:6px;margin:4px 0;font-size:13px}.edit-actions{gap:8px;display:flex}
