:root{--bg:#f8f5f1;--surface:#fff;--text:#28221f;--muted:#95897e;--line:#e9dfd5;--accent:#795e4a;--success:#4f9d69;--partial:#d39a31;--missed:#bd6f68}*{box-sizing:border-box}html,body{width:100%;max-width:100%;overflow-x:hidden}body{background:var(--bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea{font:inherit;color:inherit}input,textarea,select{font-size:16px}button{-webkit-tap-highlight-color:transparent}.app-shell{background:#e9e4df;justify-content:center;width:100%;min-height:100vh;display:flex;overflow-x:hidden}.phone-frame{background:var(--bg);width:100%;max-width:min(470px,100vw);min-height:100vh;padding-bottom:154px;position:relative;overflow-x:hidden}.topbar{justify-content:space-between;align-items:center;padding:27px 20px 15px;display:flex}.topbar h1,.settings-header h1{letter-spacing:-1.2px;margin:0;font-size:34px}.topbar p{color:var(--muted);margin:5px 0 0;font-size:14px}.settings-button{background:#eee6dc;border:0;border-radius:16px;width:48px;height:48px;font-size:23px}.period-tabs{background:#eee6dc;border-radius:17px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 12px 17px;padding:5px;display:grid}.period-tabs button{min-width:0;height:43px;color:var(--muted);background:0 0;border:0;border-radius:13px;padding:0 4px;font-size:13px;font-weight:700}.period-tabs button.active{color:var(--text);background:#fff;box-shadow:0 2px 5px #50372314}.content{padding:0 14px 28px}.error-banner{color:#9a514a;text-align:left;background:#fff3f1;border:1px solid #efceca;border-radius:14px;width:100%;margin-bottom:12px;padding:11px 13px;font-size:13px}.loading{min-height:36vh;color:var(--muted);place-items:center;display:grid}.empty-state{min-height:43vh;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state span{margin-bottom:14px;font-size:38px}.empty-state strong{color:var(--text);font-size:18px}.empty-state p{margin:7px 0 0}.wish-list{gap:10px;display:grid}.wish-card{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:18px;width:100%;min-width:0;padding:12px 11px;transition:all .2s;overflow:hidden}.wish-card.fulfilled{background:#edf7f0;border-color:#cce5d4}.wish-card.partial{background:#fff8e7;border-color:#f0dba9}.wish-card.not_fulfilled{background:#fff0ee;border-color:#edcbc7}.wish-main{align-items:flex-start;gap:10px;width:100%;min-width:0;min-height:48px;display:flex}.wish-main>p{overflow-wrap:anywhere;flex:1;min-width:0;margin:0;font-size:15px;line-height:1.38}.wish-emoji{flex:none;font-size:23px}.wish-controls{justify-content:flex-start;align-items:center;width:100%;margin-top:9px;display:flex}.status-actions{gap:6px;display:flex}.status-actions button{border:1px solid var(--line);color:#afa49a;background:#faf8f6;border-radius:12px;place-items:center;width:40px;height:40px;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:20px;font-weight:700;line-height:1;display:grid}.status-actions button.selected{color:#fff;border-color:#0000}.status-actions .success{background:var(--success)}.status-actions .partial{background:var(--partial)}.status-actions .missed{background:var(--missed)}.stop-mark{background:currentColor;border-radius:2px;width:12px;height:12px;display:block}.comment-preview{color:var(--accent);background:#ffffff9e;border-radius:10px;margin:8px 0 0 33px;padding:7px 9px;font-size:12px;line-height:1.35;overflow:hidden}.sheet-actions button{background:#eee7df;border:0;border-radius:10px;padding:8px 12px}.sheet-actions .save{background:var(--accent);color:#fff}.composer{z-index:5;width:100%;max-width:470px;padding:9px 12px max(11px,env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8f5f1f7;position:fixed;bottom:0}.quick-templates{scrollbar-width:none;gap:8px;margin-bottom:8px;display:flex;overflow-x:auto}.quick-templates button{background:#eee6dc;border:0;border-radius:15px;flex:none;min-width:48px;height:39px;padding:0 13px;font-size:20px}.input-row{align-items:flex-end;gap:8px;display:flex}.input-row textarea{resize:none;background:#fff;border:1px solid #dfd2c5;border-radius:18px;outline:none;flex:1;min-width:0;min-height:54px;max-height:112px;padding:9px 14px;font-size:16px;line-height:1.35;overflow-y:auto}.input-row textarea:focus{border-color:#bca792}.input-row button{background:var(--accent);color:#fff;border:0;border-radius:50%;flex:none;width:50px;height:50px;padding:0;font-size:25px}.input-row button:disabled{opacity:.35}.stats-card{color:#fff;background:#342d29;border-radius:19px;padding:19px}.stats-card span{color:#c9bfb8;font-size:13px}.stats-card strong{margin:5px 0;font-size:38px;display:block}.stats-card p{color:#c9bfb8;margin:0;font-size:13px}.history-days{gap:19px;margin-top:22px;display:grid}.history-days h2{color:var(--muted);margin:0 0 8px 4px;font-size:15px}.history-wish{border-bottom:1px solid var(--line);cursor:pointer;background:#fff;align-items:flex-start;gap:9px;padding:11px 12px;display:flex}.history-wish.fulfilled{background:#edf7f0}.history-wish.partial{background:#fff8e7}.history-wish.not_fulfilled{background:#fff0ee}.history-wish:first-of-type{border-radius:15px 15px 0 0}.history-wish:last-child{border:0;border-radius:0 0 15px 15px}.history-wish:only-of-type{border-radius:15px}.history-wish>span{width:28px;height:28px;color:var(--muted);background:#eee9e4;border-radius:8px;flex:none;place-items:center;font-weight:700;display:grid}.history-wish.fulfilled>span{background:var(--success);color:#fff}.history-wish.partial>span{background:var(--partial);color:#fff}.history-wish.not_fulfilled>span{background:var(--missed);color:#fff}.history-wish div{flex:1;min-width:0}.history-wish p{overflow-wrap:anywhere;margin:2px 0;font-size:14px;line-height:1.35}.history-wish small{color:var(--accent);margin-top:6px;line-height:1.35;display:block}.settings-header{align-items:center;gap:12px;padding:25px 18px 17px;display:flex}.settings-header button{background:0 0;border:0;width:38px;height:44px;font-size:38px;line-height:1}.settings-content{padding:4px 18px 40px}.settings-content>h2,.templates-heading h2{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:20px 0 12px;font-size:13px}.setting-row{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;min-height:62px;padding:10px 13px;display:flex}.setting-row:first-of-type{border-radius:15px 15px 0 0}.setting-row:nth-of-type(2){border:0;border-radius:0 0 15px 15px}.setting-row input[type=checkbox]{width:24px;height:24px;accent-color:var(--success)}.setting-row input[type=time]{border:1px solid var(--line);background:#faf8f6;border-radius:10px;padding:7px}.templates-heading{justify-content:space-between;align-items:center;margin-top:23px;display:flex}.templates-heading h2{margin:0}.templates-heading button{color:var(--accent);background:0 0;border:0;font-weight:700}.template-hint{color:var(--muted);margin:6px 0 0;font-size:12px}.template-list{border-radius:15px;gap:1px;margin-top:11px;display:grid;overflow:hidden}.template-list article{background:#fff;align-items:center;gap:8px;min-width:0;min-height:66px;padding:10px 10px 10px 5px;display:flex}.template-list article>span{flex:none;font-size:22px}.template-list p{flex:1;min-width:0;margin:0;font-size:14px;line-height:1.3}.template-list button{color:var(--accent);background:0 0;border:0;font-size:12px;font-weight:700}.template-list .drag-handle{color:#b6aaa0;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;align-self:stretch;width:36px;padding:0;font-size:24px}.template-list .drag-handle:active{cursor:grabbing;color:var(--accent)}.sheet-backdrop{z-index:20;background:#261e1966;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:470px;max-height:92vh;padding:12px 18px max(25px,env(safe-area-inset-bottom));background:var(--bg);border-radius:24px 24px 0 0;overflow-y:auto}.sheet-handle{background:#dfd5ca;border-radius:5px;width:42px;height:5px;margin:0 auto 14px}.sheet h2{margin:0 0 15px}.template-form{gap:8px;display:flex}.template-form input{border:1px solid var(--line);text-align:center;border-radius:13px;width:58px;font-size:22px}.template-form textarea{resize:none;border:1px solid var(--line);border-radius:13px;outline:none;flex:1;padding:11px}.sheet-actions{justify-content:space-between;margin-top:12px;display:flex}.sheet-actions .delete{color:#9a514a}.wish-sheet label{color:var(--muted);margin:14px 0 7px;font-size:13px;display:block}.wish-sheet>textarea{resize:vertical;border:1px solid var(--line);border-radius:14px;outline:none;width:100%;padding:11px;line-height:1.4}.sheet-statuses{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.sheet-statuses button{border:1px solid var(--line);min-width:0;min-height:44px;color:var(--muted);background:#fff;border-radius:12px;padding:5px;font-size:12px;font-weight:700}.sheet-statuses .active{color:#fff;border-color:#0000}.sheet-statuses .fulfilled{background:var(--success)}.sheet-statuses .partial{background:var(--partial)}.sheet-statuses .missed{background:var(--missed)}.sheet-save{background:var(--accent);color:#fff;border:0;border-radius:15px;width:100%;min-height:52px;margin-top:18px;font-weight:700}.sheet-save:disabled{opacity:.4}.sheet-delete{color:#bf584d;background:0 0;border:0;width:100%;margin-top:11px;padding:12px;font-weight:700}.sheet-duplicate{width:100%;min-height:48px;color:var(--accent);background:#eee6dc;border:1px solid #d8c7b8;border-radius:15px;margin-top:9px;font-weight:700}.sheet-duplicate:disabled{opacity:.5}@media (width>=700px){.phone-frame{border-radius:28px;min-height:900px;margin:24px 0;overflow:hidden;box-shadow:0 16px 60px #32271e1f}.composer{border-radius:0 0 28px 28px;bottom:24px}}
