:root{--ink:#34415a;--muted:#8490a2;--line:#edf0f7;--paper:#fff;--bg:#f9fbff;--blue:#b4daef;--lilac:#ded3fa;--pink:#f8cbdf;--shadow:0 10px 30px rgba(97,110,147,.075);--rainbow:linear-gradient(115deg,#b7e4f4 0%,#ddd2f6 53%,#f7cadc 100%);font-family:ui-rounded,'Hiragino Maru Gothic ProN','Yu Gothic','Meiryo',system-ui,sans-serif;color:var(--ink);font-synthesis:weight}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-weight:700;font-size:14px;min-width:320px;line-height:1.65}button,input,textarea{font:inherit}button{cursor:pointer}input,textarea{color:var(--ink)}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a7ccec;outline-offset:2px}.ambient{pointer-events:none;position:fixed;border-radius:50%;filter:blur(65px);opacity:.4;z-index:-1}.ambient-one{width:370px;height:300px;background:#d5eaff;top:-155px;left:-140px}.ambient-two{width:360px;height:320px;background:#fbe3f1;top:240px;right:-220px}
.app-shell{max-width:760px;min-height:100vh;margin:auto;padding:0 18px 135px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:26px 3px 20px}.site-logo{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:900;letter-spacing:.04em;line-height:1.05}.site-logo small{display:block;font-size:9px;letter-spacing:.11em;color:#9ca9b9;margin-top:5px}.logo-flower{height:42px;width:42px;display:grid;place-items:center;border-radius:15px;background:var(--rainbow);color:white;font-size:23px;box-shadow:0 8px 18px rgba(181,164,220,.25)}.header-icon{font-size:20px;background:white;border:1px solid var(--line);border-radius:14px;width:42px;height:42px;display:grid;place-items:center;color:#98a7bd}.main-content{display:flex;flex-direction:column;gap:17px}.hero{padding:10px 8px 3px}.eyebrow{font-size:10px;color:#94a6be;letter-spacing:.21em;font-weight:900}.eyebrow span{color:#efb6d3}.hero h1,.page-heading h1{font-size:clamp(22px,5vw,31px);margin:6px 0 0;letter-spacing:-.035em;font-weight:900}.hero p,.page-heading p{font-size:12px;color:var(--muted);margin:6px 0 0}.card{position:relative;background:rgba(255,255,255,.95);border:1px solid #f0f1f7;border-radius:25px;padding:22px;box-shadow:var(--shadow);min-width:0}.section-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.section-top h2,.card h2{font-size:15px;font-weight:900;letter-spacing:.07em;margin:0}.section-top h2{white-space:nowrap}.mini-link{border:0;background:transparent;color:#8493b6;font-size:12px;font-weight:900;padding:4px;white-space:nowrap}.top-ornament{font-size:21px;color:#f6cb86}.status-card{overflow:hidden}.status-card:before{content:'';position:absolute;right:-56px;top:-98px;width:220px;height:190px;background:var(--rainbow);filter:blur(50px);opacity:.3;pointer-events:none}.status-main{position:relative;display:flex;gap:17px;align-items:center}.avatar-wrap{flex:0 0 auto;width:86px;height:86px;padding:5px;border-radius:29px;background:var(--rainbow);box-shadow:0 3px 14px #dfe5f2}.avatar-wrap img,.avatar-placeholder{width:100%;height:100%;object-fit:cover;border-radius:24px;background:white}.avatar-placeholder{display:grid;place-items:center;font-size:36px;color:#ceb2d9}.status-profile{min-width:0;flex:1}.name-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.name-line strong{font-size:19px;overflow-wrap:anywhere}.level-pill{display:inline-block;border:1px solid #e2d8f9;background:#f6f3fc;color:#9987b9;border-radius:20px;padding:3px 10px;font-size:10px;white-space:nowrap}.profile-title{font-size:11px;color:#ac95b4;margin:6px 0 12px}.exp-label{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.progress-track{height:8px;border-radius:99px;background:#edf1f8;overflow:hidden;margin-top:5px}.progress-track span{height:100%;display:block;background:var(--rainbow);border-radius:99px}.status-bottom{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;font-size:12px;color:#7f8fa7}.status-bottom strong{margin-left:auto;font-size:20px;color:#4c5876}.small-star{color:#bca7d5}.today-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.today-link{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#f8faff;border:1px solid #f1f4fa;border-radius:18px;padding:14px 11px;position:relative;min-height:100px}.today-link>span{font-size:20px}.today-link strong{font-size:11px;display:block;line-height:1.25;overflow-wrap:anywhere}.today-link small{display:block;font-size:10px;color:#a5aec0;margin-top:4px}.today-link b{position:absolute;right:10px;top:12px;color:#bec9db}.today-link.dimmed{opacity:.75}
.month-nav{display:flex;align-items:center;gap:12px;font-size:13px;color:#788aa9}.month-nav a{display:grid;place-items:center;width:25px;height:25px;background:#f5f7fc;border-radius:10px;font-size:22px;line-height:1}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center;align-items:center}.cal-heading{font-size:10px;color:#9aacc0;padding-bottom:8px}.cal-heading:first-child{color:#e2a2af}.cal-heading:nth-child(7){color:#91b5d4}.cal-day{height:38px;display:flex;justify-content:center;align-items:center;position:relative;border-radius:12px;font-size:12px;font-weight:800}.cal-day:hover{background:#f6f7fc}.cal-day.is-today{background:var(--rainbow);color:#45526d}.cal-day i{position:absolute;width:4px;height:4px;border-radius:50%;bottom:5px;background:#ba99d2;opacity:0}.cal-day.has-entry i{opacity:1}.small-note{color:#a4adbf;font-size:11px;margin:14px 0 0}.centered{text-align:center}.heading-emoji{font-size:14px}.count-tag{font-size:11px;color:#8a9bac;background:#f6f8fc;padding:4px 9px;border-radius:20px}.task-form{display:grid;grid-template-columns:minmax(0,1fr) 125px 39px;gap:7px}.task-form input,.inline-form input,.memo-dialog input,.memo-dialog textarea,.auth-card input{border:1px solid #e7ecf3;background:#fbfcff;outline:none;border-radius:12px;padding:11px 13px;min-width:0}.task-form input{font-size:12px}.task-form input[type=date]{color:#97a4b9;padding:10px 6px}.tiny-add{border:0;border-radius:13px;background:var(--rainbow);color:#455775;font-size:22px;line-height:1}.task-list{margin-top:10px}.task-row{display:flex;align-items:center;gap:12px;padding:11px 3px;border-bottom:1px solid #f1f3f8;min-width:0}.task-check{border:1.7px solid #ccd7e8;background:white;display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:8px;color:white;font-size:13px}.task-row.is-complete .task-check{border:0;background:linear-gradient(135deg,#baddea,#cdbfe6)}.task-desc{flex:1;display:flex;flex-direction:column;min-width:0}.task-desc span{font-size:12px;overflow-wrap:anywhere}.task-desc small{color:#b0aabb;font-size:10px}.task-row.is-complete .task-desc span{text-decoration:line-through;color:#b9bfce}.row-delete{color:#bac3d2;border:0;background:transparent;font-size:22px;padding:3px 8px}.empty-copy{border-radius:15px;background:#fafbfe;color:#9ca9b9;text-align:center;padding:24px 10px;font-size:12px;line-height:1.8;width:100%}.show-more{display:block;margin:14px auto 0;background:#f6f8fd;border:0;border-radius:999px;padding:8px 24px;font-size:11px;color:#8296b7;font-weight:900}.save-message{color:#95abb7;font-size:11px;margin-top:8px;min-height:12px}.memo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.memo-card{min-width:0;text-align:left;border:1px solid #eceef5;border-radius:18px;background:linear-gradient(135deg,#fbfcff,#fff);padding:15px;min-height:116px;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden}.memo-card:nth-child(3n+2){background:linear-gradient(145deg,#fffafb,#fff)}.memo-card strong{font-size:12px}.memo-card span{font-size:11px;color:#9ca9b9;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;margin-top:7px;flex:1}.memo-card small{font-size:10px;color:#b4becf;margin-top:9px}.recent-row{display:flex;align-items:center;border-top:1px solid #f1f3f9;padding:11px 0;gap:10px}.recent-row span{font-size:10px;color:#a0aed0}.recent-row strong{flex:1;font-size:12px}.recent-row small{font-size:10px;color:#a2adbf}
.bottom-nav{position:fixed;z-index:20;bottom:0;left:0;width:100%;height:calc(76px + env(safe-area-inset-bottom,0px));padding:9px max(13px,calc((100vw - 740px)/2)) calc(9px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:rgba(255,255,255,.95);border-top:1px solid #ecedf4;box-shadow:0 -6px 20px rgba(105,123,153,.07);backdrop-filter:blur(20px)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:21px;opacity:.62}.nav-item small{font-size:9px;font-weight:900;letter-spacing:.04em}.nav-item.is-current{opacity:1;color:#8c9bc2}.nav-plus{width:53px;height:53px;margin:-14px auto 0;display:grid;place-items:center;border-radius:19px;font-size:36px;color:#52627d;background:var(--rainbow);box-shadow:0 5px 19px #dcd6ea;line-height:1}.nav-plus.is-current{outline:3px solid #a3b9cf}.page-heading{padding:15px 7px 8px}.page-heading h1{font-size:31px;letter-spacing:.02em}.page-heading h1 span{font-size:25px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.category-card{border-radius:21px;background:white;box-shadow:var(--shadow);border:1px solid #f0f1f7;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 5px 15px;min-height:132px;gap:2px}.category-icon{font-size:28px;margin-bottom:5px}.category-card strong{font-size:11px;white-space:nowrap}.category-card small{color:#a4b0be;font-size:9px}.category-card em{margin-top:8px;letter-spacing:.07em;font-size:8px;font-style:normal;color:#bdc6d6}.feature-panel{text-align:center;padding:38px 27px}.feature-panel h2{font-size:19px;margin-bottom:13px}.feature-panel p{color:#8e9bb0;font-size:12px;font-weight:700;line-height:2;max-width:390px;margin:0 auto 15px}.big-emoji{font-size:49px;display:block;margin-bottom:17px}.ai-panel{background:linear-gradient(145deg,#fff,#f8f5ff)}.muted-chip{display:inline-block;background:#f3f5fc;border-radius:99px;padding:8px 15px;font-size:10px;color:#9caac0}.body-copy{font-size:12px;line-height:2;color:#8797ae}.casino-balance{position:sticky;top:10px;z-index:5;align-self:flex-end;background:#333a5e;color:white;padding:9px 16px;border-radius:99px;font-size:12px;box-shadow:0 7px 23px #9195b5;margin-bottom:-4px}.casino-balance strong{color:#ffe2a8;font-size:15px;margin-left:10px}.casino-panel{background:linear-gradient(125deg,#f9f4ff,#fff7fb,#f8fcff);border:1px solid #ece1fb;overflow:hidden}.casino-panel h2{font-size:19px}.casino-panel p{color:#7b86a0;font-size:12px;line-height:1.9}.casino-orb{position:absolute;right:15px;top:-8px;font-size:116px;color:#e9d9fc;opacity:.7}.casino-panel>*{position:relative}.casino-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.casino-tile{padding:18px 15px;display:flex;justify-content:space-between;align-items:center;gap:8px;border-radius:18px;border:1px solid #f0eaf8;background:white;box-shadow:var(--shadow)}.casino-tile strong{font-size:12px}.casino-tile small{font-size:8px;color:#bdacc7}.more-list{display:flex;flex-direction:column;gap:9px}.more-item{display:flex;align-items:center;gap:16px;padding:15px 17px;border:1px solid #eff1f7;background:white;border-radius:18px;box-shadow:var(--shadow)}.more-item>span{font-size:25px;width:33px;text-align:center}.more-item>div{flex:1}.more-item strong{display:block;font-size:13px}.more-item small{display:block;font-size:10px;color:#a6b0bf}.more-item>b{font-size:23px;color:#b4bfce}.back-link{font-size:11px;color:#92a0b9;display:block;margin-bottom:14px}.settings-card h2{margin-bottom:19px}.settings-avatar{display:flex;gap:18px;align-items:center}.settings-avatar img,.settings-avatar .avatar-placeholder{width:79px;height:79px;border-radius:23px;object-fit:cover;background:#f6f7fc}.button{border:0;padding:11px 17px;border-radius:13px;font-size:12px;font-weight:900;white-space:nowrap}.button.primary{background:var(--rainbow);color:#53617a}.button.soft{background:#f4f6fc;color:#8f9bad}.button.outline{background:white;border:1px solid #e6eaf3;color:#7d91ac}.field-label{display:block;font-size:12px;color:#7b87a0;margin:21px 0 6px}.inline-form{display:flex;gap:9px}.inline-form input{flex:1;min-width:0}.modal-backdrop{position:fixed;inset:0;z-index:30;background:rgba(48,58,80,.43);display:flex;align-items:center;justify-content:center;padding:18px}.memo-dialog{width:min(100%,590px);background:white;border-radius:25px;padding:24px;box-shadow:0 20px 60px #3e445a44;display:flex;flex-direction:column;max-height:calc(100vh - 45px)}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{font-size:18px}.modal-close{border:0;background:#f4f6fc;font-size:24px;border-radius:12px;width:37px;height:37px;color:#8897a9}.memo-title-input{margin:15px 0 9px;font-size:14px!important;font-weight:900}.memo-dialog textarea{resize:vertical;min-height:145px;max-height:50vh;line-height:1.8;font-size:13px;font-weight:700}.memo-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.text-danger{border:0;background:none;color:#b5949d;font-size:11px}.modal-open{overflow:hidden}.global-toast{position:fixed;z-index:40;bottom:calc(92px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%,20px);background:#505b79;color:white;white-space:normal;max-width:min(90vw,430px);text-align:center;border-radius:14px;padding:11px 19px;box-shadow:0 7px 25px #505b7938;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:12px}.global-toast.show{opacity:1;transform:translate(-50%,0)}.global-toast.bad{background:#aa6975}.toast-static{background:#f0edf9;border-radius:14px;color:#8d78ae;padding:11px 14px;font-size:12px}.auth-body{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:34px 16px;background:radial-gradient(ellipse at 15% 10%,#f1ecfc,transparent 45%),radial-gradient(ellipse at 100% 75%,#e8f7ff,transparent 40%),#fcfdff}.auth-card{width:min(100%,420px);padding:34px;background:white;border:1px solid #f2eff9;box-shadow:0 14px 60px #8a99b52c;border-radius:28px}.auth-card h1{text-align:center;font-size:30px;margin:10px 0 0;letter-spacing:.08em}.auth-card .muted{text-align:center;color:#a0aabc;font-size:12px;margin-bottom:24px}.brand-mark{background:var(--rainbow);width:55px;height:55px;border-radius:20px;display:grid;place-items:center;color:white;font-size:26px;margin:0 auto}.auth-card label{display:block;margin-bottom:15px;color:#75839d;font-size:12px}.auth-card input{width:100%;margin-top:5px}.button.full{width:100%;display:flex;justify-content:space-between;align-items:center;padding:15px 18px;margin-top:9px}.fineprint{font-size:11px;color:#adb6c5;text-align:center;margin:22px 0 0}.alert{background:#fff2f3;color:#a76c79;padding:12px 15px;border-radius:13px;font-size:12px;margin-bottom:17px}.install-card{width:min(100%,510px)}.form-rule{margin:24px 0 16px;border-top:1px solid #e7ecf5;padding-top:15px;color:#8fa1bd;font-size:13px}.help-text{font-size:12px;color:#8895aa;line-height:1.8}
@media(max-width:500px){.app-shell{padding-left:13px;padding-right:13px}.site-header{padding-top:17px}.hero{padding-top:6px}.card{padding:18px;border-radius:22px}.status-main{gap:12px}.avatar-wrap{width:74px;height:74px;border-radius:24px}.avatar-wrap img,.avatar-placeholder{border-radius:19px}.name-line strong{font-size:16px}.level-pill{font-size:9px}.today-grid{gap:6px}.today-link{padding:12px 8px}.today-link strong{font-size:10px}.task-form{grid-template-columns:minmax(0,1fr) 36px;gap:7px}.task-form input[type=date]{max-width:none}.task-form .tiny-add{grid-row:1;grid-column:2}.memo-grid{gap:8px}.memo-card{padding:12px}.category-grid{gap:7px}.category-card{min-height:124px;padding:13px 4px}.category-card strong{font-size:10px}.category-card small{font-size:9px}.casino-tiles{grid-template-columns:1fr 1fr}.casino-tile{padding:14px 10px;flex-direction:column;align-items:flex-start}.memo-dialog{padding:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* v0.1.2 icon refresh */
.logo-flower{overflow:hidden}
.brand-svg,.header-svg,.eyebrow-svg,.section-svg,.heading-svg,.title-svg,.feature-svg,.nav-svg,.plus-svg,.more-svg,.category-icon-svg,.card-svg,.tile-svg,.balance-svg,.chip-svg,.mini-svg,.inline-svg,.checkmark-svg,.orb-svg{display:block;width:100%;height:100%}
.brand-svg{width:24px;height:24px}.header-svg{width:18px;height:18px}.eyebrow-icon{display:inline-flex;vertical-align:middle;margin-left:4px}.eyebrow-svg{width:12px;height:12px}.header-icon{font-size:0}.header-icon svg,.logo-flower svg{color:#fff}.logo-flower{font-size:0}.site-logo{align-items:center}
.status-balance-label{display:inline-flex;align-items:center;gap:7px}.icon-chip{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#f5f7fc;color:#8fa1bd}.chip-svg{width:14px;height:14px}.small-star{display:inline-flex;align-items:center}.mini-svg{width:14px;height:14px}
.top-ornament{width:22px;height:22px;display:inline-flex;color:#e6b7ce}.heading-emoji{display:inline-flex;vertical-align:middle;margin-left:6px;color:#9cb2cb}.heading-svg{width:16px;height:16px}.title-icon{display:inline-flex;vertical-align:-4px;margin-left:4px;color:#94aecd}.title-svg{width:24px;height:24px}.feature-svg{width:52px;height:52px;margin-inline:auto;color:#95a9c6}.big-emoji{font-size:0}.section-top h2{display:flex;align-items:center;gap:2px}
.today-link>span,.card-icon-badge{font-size:0}.card-icon-badge{width:34px;height:34px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#fbfcff,#f5f8ff);border:1px solid #edf0f8;color:#95abc7}.card-svg{width:18px;height:18px}
.inline-icon{display:inline-flex;vertical-align:-3px;margin-right:4px;color:#adbbcf}.inline-svg{width:13px;height:13px}.task-check{font-size:0}.task-check svg{width:13px;height:13px}.task-row.is-complete .task-check{color:#fff}
.nav-item span,.nav-plus{font-size:0}.nav-item span{display:flex;align-items:center;justify-content:center;width:26px;height:26px}.nav-svg{width:24px;height:24px}.nav-item{gap:5px}.nav-plus{display:grid;place-items:center}.plus-svg{width:25px;height:25px;color:#fff}
.category-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:6px;border-radius:20px;background:linear-gradient(145deg,#fbfcff,#f7f8ff);border:1px solid #eef1f7;color:#96a9c5}.category-icon-svg{width:26px;height:26px}
.casino-balance{display:flex;align-items:center;gap:8px}.balance-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:#ffe2a8}.balance-svg{width:18px;height:18px}
.casino-orb{font-size:0;display:flex;align-items:center;justify-content:center}.orb-svg{width:110px;height:110px;color:#e9d9fc}
.casino-tile{display:grid;grid-template-columns:36px 1fr auto;align-items:center}.tile-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:14px;background:#faf8fd;color:#9c8ab7;border:1px solid #f0eaf8}.tile-svg{width:19px;height:19px}.casino-tile strong,.casino-tile small{display:block}
.more-item>.more-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(145deg,#fbfcff,#f5f8ff);border:1px solid #edf0f8;color:#9cb0cb;flex:0 0 36px}.more-item .more-svg{width:19px;height:19px}.more-item>b{margin-left:auto}
@media(max-width:500px){.card-icon-badge{width:30px;height:30px;border-radius:12px}.card-svg{width:16px;height:16px}.category-icon{width:48px;height:48px;border-radius:17px}.category-icon-svg{width:23px;height:23px}.nav-svg{width:22px;height:22px}.plus-svg{width:23px;height:23px}.more-item>.more-icon{width:32px;height:32px}.more-item .more-svg{width:17px;height:17px}.casino-tile{grid-template-columns:32px 1fr}.tile-icon{width:32px;height:32px}}


/* v0.1.4 colorful icon + typography refresh */
body{font-size:15px}
.site-logo{font-size:24px}.site-logo small{font-size:10px}.hero p,.page-heading p{font-size:13px}.section-top h2,.card h2{font-size:16px}.mini-link{font-size:13px}.name-line strong{font-size:21px}.profile-title{font-size:12px}.exp-label{font-size:11px}.status-bottom{font-size:13px}.status-bottom strong{font-size:22px}.today-link strong{font-size:12px}.today-link small{font-size:11px}.small-note{font-size:12px}.count-tag{font-size:12px}.task-form input,.inline-form input,.memo-dialog input,.memo-dialog textarea,.auth-card input{font-size:13px}.task-desc span{font-size:13px}.task-desc small{font-size:11px}.empty-copy{font-size:13px}.show-more{font-size:12px}.save-message{font-size:12px}.memo-card strong{font-size:13px}.memo-card span{font-size:12px}.memo-card small{font-size:11px}.recent-row span,.recent-row small{font-size:11px}.recent-row strong{font-size:13px}.nav-item small{font-size:10px}.page-heading h1{font-size:34px}.page-heading h1 span{font-size:28px}.category-card strong{font-size:12px}.category-card small{font-size:10px}.category-card em{font-size:9px}.feature-panel h2{font-size:21px}.feature-panel p,.body-copy,.casino-panel p{font-size:13px}.casino-balance{font-size:13px}.casino-balance strong{font-size:16px}.casino-tile strong{font-size:13px}.casino-tile small{font-size:9px}.more-item strong{font-size:14px}.more-item small{font-size:11px}.back-link,.button,.field-label,.help-text,.form-rule,.auth-card label,.auth-card .muted,.fineprint,.alert{font-size:13px}
.brand-svg{width:26px;height:26px}.header-svg{width:20px;height:20px}.heading-svg{width:18px;height:18px}.title-svg{width:28px;height:28px}.feature-svg{width:64px;height:64px}.card-icon-badge{width:42px;height:42px;border-radius:16px}.card-svg{width:22px;height:22px}.nav-item span{width:38px;height:38px;border-radius:15px}.nav-svg{width:28px;height:28px}.category-icon{width:64px;height:64px;border-radius:22px}.category-icon-svg{width:32px;height:32px}.more-item>.more-icon{width:42px;height:42px;border-radius:16px;flex:0 0 42px}.more-item .more-svg{width:22px;height:22px}.tile-icon{width:42px;height:42px;border-radius:16px}.tile-svg{width:22px;height:22px}.balance-svg{width:20px;height:20px}.chip-svg{width:16px;height:16px}.orb-svg{width:124px;height:124px}
.header-icon{background:linear-gradient(145deg,#ffffff,#f7faff);border:1px solid #edf1f7;color:#8aa0cf}.header-icon svg{color:#8ea6d6}
.top-ornament{color:#dc9ebe}.heading-emoji{color:#88a4db}.title-icon{color:#8aa8df}.feature-svg{color:#90aad9}
.today-grid .today-link:nth-child(1) .card-icon-badge{background:linear-gradient(145deg,#e9f7ff,#f5fbff);border-color:#d6eefc;color:#63a9d5}
.today-grid .today-link:nth-child(2) .card-icon-badge{background:linear-gradient(145deg,#f2eeff,#faf8ff);border-color:#e6defb;color:#9a86d8}
.today-grid .today-link:nth-child(3) .card-icon-badge{background:linear-gradient(145deg,#fff0f6,#fff8fb);border-color:#f8ddeb;color:#e08ab4}
.bottom-nav .nav-item:nth-child(1) span{background:linear-gradient(145deg,#e9f6ff,#f6fbff);color:#63a9d5}
.bottom-nav .nav-item:nth-child(2) span{background:linear-gradient(145deg,#f1ecff,#faf8ff);color:#9783d9}
.bottom-nav .nav-item:nth-child(4) span{background:linear-gradient(145deg,#fff0f8,#fff8fb);color:#df8db8}
.bottom-nav .nav-item:nth-child(5) span{background:linear-gradient(145deg,#eaf8ff,#f7fcff);color:#6ab5d8}
.nav-item{opacity:1;color:#8e9caf}.nav-item.is-current{color:#5f79b2}.nav-item.is-current small{color:#5f79b2}
.nav-plus{font-size:34px;font-weight:900;color:#fff;background:linear-gradient(135deg,#89d8f6 0%,#c8bbf1 50%,#f0a7c9 100%);box-shadow:0 8px 24px rgba(196,183,232,.35);border-radius:20px;line-height:1;margin:-10px auto 0;outline:none;border:0}
.nav-plus.is-current{outline:none;box-shadow:0 8px 24px rgba(196,183,232,.35)}
.category-grid .category-card:nth-child(5n+1) .category-icon{background:linear-gradient(145deg,#e8f6ff,#f6fbff);border-color:#d9edf9;color:#63a8d5}
.category-grid .category-card:nth-child(5n+2) .category-icon{background:linear-gradient(145deg,#f2eeff,#fbf9ff);border-color:#e6defb;color:#9784d8}
.category-grid .category-card:nth-child(5n+3) .category-icon{background:linear-gradient(145deg,#fff0f7,#fff8fb);border-color:#f8deeb;color:#e08db5}
.category-grid .category-card:nth-child(5n+4) .category-icon{background:linear-gradient(145deg,#ecfbf6,#f7fffc);border-color:#d8f2e6;color:#64b99e}
.category-grid .category-card:nth-child(5n+5) .category-icon{background:linear-gradient(145deg,#fff4e9,#fffaf3);border-color:#f7e5cb;color:#d7a15b}
.more-list .more-item:nth-child(5n+1) .more-icon{background:linear-gradient(145deg,#e8f6ff,#f6fbff);border-color:#d9edf9;color:#63a8d5}
.more-list .more-item:nth-child(5n+2) .more-icon{background:linear-gradient(145deg,#f2eeff,#fbf9ff);border-color:#e6defb;color:#9784d8}
.more-list .more-item:nth-child(5n+3) .more-icon{background:linear-gradient(145deg,#fff0f7,#fff8fb);border-color:#f8deeb;color:#e08db5}
.more-list .more-item:nth-child(5n+4) .more-icon{background:linear-gradient(145deg,#ecfbf6,#f7fffc);border-color:#d8f2e6;color:#64b99e}
.more-list .more-item:nth-child(5n+5) .more-icon{background:linear-gradient(145deg,#fff4e9,#fffaf3);border-color:#f7e5cb;color:#d7a15b}
.casino-tiles .casino-tile:nth-child(5n+1) .tile-icon{background:linear-gradient(145deg,#e8f6ff,#f6fbff);border-color:#d9edf9;color:#63a8d5}
.casino-tiles .casino-tile:nth-child(5n+2) .tile-icon{background:linear-gradient(145deg,#f2eeff,#fbf9ff);border-color:#e6defb;color:#9784d8}
.casino-tiles .casino-tile:nth-child(5n+3) .tile-icon{background:linear-gradient(145deg,#fff0f7,#fff8fb);border-color:#f8deeb;color:#e08db5}
.casino-tiles .casino-tile:nth-child(5n+4) .tile-icon{background:linear-gradient(145deg,#ecfbf6,#f7fffc);border-color:#d8f2e6;color:#64b99e}
.casino-tiles .casino-tile:nth-child(5n+5) .tile-icon{background:linear-gradient(145deg,#fff4e9,#fffaf3);border-color:#f7e5cb;color:#d7a15b}
@media(max-width:500px){body{font-size:14px}.name-line strong{font-size:18px}.page-heading h1{font-size:30px}.card-icon-badge{width:36px;height:36px}.card-svg{width:19px;height:19px}.nav-item span{width:34px;height:34px}.nav-svg{width:24px;height:24px}.nav-plus{width:50px;height:50px;font-size:31px;margin:-8px auto 0}.category-icon{width:54px;height:54px}.category-icon-svg{width:27px;height:27px}.more-item>.more-icon{width:36px;height:36px;flex-basis:36px}.more-item .more-svg{width:19px;height:19px}.tile-icon{width:36px;height:36px}.tile-svg{width:19px;height:19px}}


/* v0.1.5 icon style correction: dusty colored illustration only */
.header-icon{background:transparent !important;border:0 !important;box-shadow:none !important;color:#8fa0bd}
.logo-flower{box-shadow:0 8px 18px rgba(181,164,220,.25)}
.card-icon-badge,
.category-icon,
.more-item>.more-icon,
.tile-icon,
.bottom-nav .nav-item span,
.icon-chip,
.balance-icon,
.top-ornament{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.card-icon-badge,
.category-icon,
.more-item>.more-icon,
.tile-icon,
.bottom-nav .nav-item span,
.icon-chip,
.balance-icon,
.top-ornament,
.inline-icon,
.small-star,
.heading-emoji,
.title-icon{
  border-radius:0 !important;
}
/* icon sizes stay large */
.card-icon-badge{width:42px;height:42px}
.category-icon{width:64px;height:64px}
.more-item>.more-icon{width:42px;height:42px;flex:0 0 42px}
.tile-icon{width:42px;height:42px}
.bottom-nav .nav-item span{width:38px;height:38px}
/* dusty colors on the illustrations themselves */
.today-grid .today-link:nth-child(1) .card-icon-badge{color:#8aa8b8 !important}
.today-grid .today-link:nth-child(2) .card-icon-badge{color:#9f93b8 !important}
.today-grid .today-link:nth-child(3) .card-icon-badge{color:#c09aaa !important}
.bottom-nav .nav-item:nth-child(1) span{color:#8fa8bc !important}
.bottom-nav .nav-item:nth-child(2) span{color:#a091bc !important}
.bottom-nav .nav-item:nth-child(4) span{color:#c79dad !important}
.bottom-nav .nav-item:nth-child(5) span{color:#8fb3ba !important}
.bottom-nav .nav-item{color:#96a0b0}.bottom-nav .nav-item.is-current{color:#677ea9}.bottom-nav .nav-item.is-current small{color:#677ea9}
.category-grid .category-card:nth-child(5n+1) .category-icon{color:#8fa8bc !important}
.category-grid .category-card:nth-child(5n+2) .category-icon{color:#a091bc !important}
.category-grid .category-card:nth-child(5n+3) .category-icon{color:#c79dad !important}
.category-grid .category-card:nth-child(5n+4) .category-icon{color:#8eb1a1 !important}
.category-grid .category-card:nth-child(5n+5) .category-icon{color:#c4a281 !important}
.more-list .more-item:nth-child(5n+1) .more-icon{color:#8fa8bc !important}
.more-list .more-item:nth-child(5n+2) .more-icon{color:#a091bc !important}
.more-list .more-item:nth-child(5n+3) .more-icon{color:#c79dad !important}
.more-list .more-item:nth-child(5n+4) .more-icon{color:#8eb1a1 !important}
.more-list .more-item:nth-child(5n+5) .more-icon{color:#c4a281 !important}
.casino-tiles .casino-tile:nth-child(5n+1) .tile-icon{color:#8fa8bc !important}
.casino-tiles .casino-tile:nth-child(5n+2) .tile-icon{color:#a091bc !important}
.casino-tiles .casino-tile:nth-child(5n+3) .tile-icon{color:#c79dad !important}
.casino-tiles .casino-tile:nth-child(5n+4) .tile-icon{color:#8eb1a1 !important}
.casino-tiles .casino-tile:nth-child(5n+5) .tile-icon{color:#c4a281 !important}
.status-balance-label .icon-chip{color:#a29ab6 !important}
.balance-icon{color:#c4a281 !important}
.top-ornament{color:#c3a1ac !important}
.heading-emoji{color:#96a4bd !important}
.title-icon{color:#98a6bf !important}
.feature-svg{color:#9ca7bf !important}
.inline-icon{color:#aab2c0 !important}
.small-star{color:#b1a5bd !important}
@media(max-width:500px){
  .card-icon-badge{width:36px;height:36px}
  .category-icon{width:54px;height:54px}
  .more-item>.more-icon{width:36px;height:36px;flex-basis:36px}
  .tile-icon{width:36px;height:36px}
  .bottom-nav .nav-item span{width:34px;height:34px}
}


/* v0.1.7 background + task form + larger icons */
body{
  background:
    radial-gradient(ellipse at 12% 8%, rgba(196,230,248,.9) 0%, rgba(196,230,248,0) 42%),
    radial-gradient(ellipse at 88% 14%, rgba(225,211,248,.9) 0%, rgba(225,211,248,0) 38%),
    radial-gradient(ellipse at 50% 100%, rgba(248,207,226,.92) 0%, rgba(248,207,226,0) 44%),
    linear-gradient(180deg,#fafdff 0%,#f9fbff 100%) !important;
  background-attachment: fixed !important;
}
.auth-body{
  background:
    radial-gradient(ellipse at 12% 8%, rgba(196,230,248,.95) 0%, rgba(196,230,248,0) 44%),
    radial-gradient(ellipse at 88% 14%, rgba(225,211,248,.95) 0%, rgba(225,211,248,0) 40%),
    radial-gradient(ellipse at 50% 100%, rgba(248,207,226,.95) 0%, rgba(248,207,226,0) 48%),
    linear-gradient(180deg,#fafdff 0%,#f9fbff 100%) !important;
}
.ambient-one{background:#d9eeff !important;opacity:.5}
.ambient-two{background:#f7d9e7 !important;opacity:.48}

.cal-day.is-today{color:#fff !important;text-shadow:0 1px 0 rgba(120,130,170,.12)}
.cal-day.is-today i{background:#fff !important;opacity:.92}

.tiny-add{color:#fff !important}

.task-form{
  grid-template-columns:minmax(0,1fr) 44px !important;
  gap:8px !important;
  align-items:end;
}
.task-date-field{
  grid-column:1 / -1;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.task-date-field span{
  font-size:12px;
  font-weight:900;
  color:#92a0b8;
  letter-spacing:.04em;
  padding-left:2px;
}
.task-form input#task-new-title{
  grid-column:1;
  grid-row:2;
}
.task-form .tiny-add{
  grid-column:2;
  grid-row:2;
  height:44px;
  width:44px;
  align-self:stretch;
  display:grid;
  place-items:center;
  font-size:24px;
  line-height:1;
}
.task-form input[type=date]{
  color:#7f90ad !important;
  padding:11px 13px !important;
}
.task-form input[type=date]::-webkit-datetime-edit{color:#7f90ad}
.task-form input[type=date]:not(:valid){color:#a5b0c1}

/* icons larger overall */
.brand-svg{width:30px !important;height:30px !important}
.header-svg{width:24px !important;height:24px !important}
.heading-svg{width:22px !important;height:22px !important}
.title-svg{width:34px !important;height:34px !important}
.feature-svg{width:72px !important;height:72px !important}
.card-icon-badge{width:48px !important;height:48px !important}
.card-svg{width:28px !important;height:28px !important}
.nav-item span{width:44px !important;height:44px !important}
.nav-svg{width:34px !important;height:34px !important}
.category-icon{width:72px !important;height:72px !important}
.category-icon-svg{width:40px !important;height:40px !important}
.more-item>.more-icon{width:48px !important;height:48px !important;flex:0 0 48px !important}
.more-item .more-svg{width:28px !important;height:28px !important}
.tile-icon{width:48px !important;height:48px !important}
.tile-svg{width:28px !important;height:28px !important}
.balance-icon{width:24px !important;height:24px !important}
.balance-svg{width:22px !important;height:22px !important}
.chip-svg{width:18px !important;height:18px !important}
.top-ornament{width:26px !important;height:26px !important}
.inline-svg{width:16px !important;height:16px !important}
.task-check svg{width:15px !important;height:15px !important}

@media(max-width:500px){
  .task-form{grid-template-columns:minmax(0,1fr) 42px !important}
  .task-form .tiny-add{width:42px;height:42px}
  .card-icon-badge{width:42px !important;height:42px !important}
  .card-svg{width:24px !important;height:24px !important}
  .nav-item span{width:38px !important;height:38px !important}
  .nav-svg{width:30px !important;height:30px !important}
  .category-icon{width:64px !important;height:64px !important}
  .category-icon-svg{width:34px !important;height:34px !important}
  .more-item>.more-icon{width:42px !important;height:42px !important;flex-basis:42px !important}
  .more-item .more-svg{width:24px !important;height:24px !important}
  .tile-icon{width:42px !important;height:42px !important}
  .tile-svg{width:24px !important;height:24px !important}
}


/* v0.1.8 dusty aurora + even larger icons + task date row */
body{
  background:
    radial-gradient(ellipse at 12% 10%, rgba(205,219,229,.88) 0%, rgba(205,219,229,0) 42%),
    radial-gradient(ellipse at 86% 16%, rgba(221,212,226,.88) 0%, rgba(221,212,226,0) 40%),
    radial-gradient(ellipse at 52% 100%, rgba(231,215,221,.9) 0%, rgba(231,215,221,0) 44%),
    linear-gradient(180deg,#f8f9fb 0%,#f6f7fa 100%) !important;
  background-attachment: fixed !important;
}
.auth-body{
  background:
    radial-gradient(ellipse at 12% 10%, rgba(205,219,229,.92) 0%, rgba(205,219,229,0) 44%),
    radial-gradient(ellipse at 86% 16%, rgba(221,212,226,.92) 0%, rgba(221,212,226,0) 42%),
    radial-gradient(ellipse at 52% 100%, rgba(231,215,221,.94) 0%, rgba(231,215,221,0) 48%),
    linear-gradient(180deg,#f8f9fb 0%,#f6f7fa 100%) !important;
}
.ambient-one{background:#d6e0e8 !important;opacity:.44}
.ambient-two{background:#e6d9df !important;opacity:.42}
.status-card:before{opacity:.22 !important;filter:blur(60px) !important}
.card{background:rgba(255,255,255,.93) !important}
.ai-panel{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(244,242,247,.92)) !important}
.casino-panel{background:linear-gradient(125deg,rgba(245,241,246,.95),rgba(250,246,248,.95),rgba(241,244,247,.95)) !important}

/* task date row */
.task-form{
  grid-template-columns:minmax(0,1fr) 46px !important;
  gap:8px !important;
  align-items:end;
}
.task-date-row{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  width:100%;
}
.task-date-row span{
  font-size:12px;
  font-weight:900;
  color:#8f98a8;
  letter-spacing:.04em;
  white-space:nowrap;
}
.task-date-row input{
  width:100% !important;
  min-width:0;
}
.task-form input#task-new-title{
  grid-column:1;
  grid-row:2;
}
.task-form .tiny-add{
  grid-column:2;
  grid-row:2;
  width:46px;
  height:46px;
  font-size:25px;
}

/* even larger icons */
.brand-svg{width:34px !important;height:34px !important}
.header-svg{width:30px !important;height:30px !important}
.heading-svg{width:26px !important;height:26px !important}
.title-svg{width:42px !important;height:42px !important}
.feature-svg{width:88px !important;height:88px !important}
.card-icon-badge{width:60px !important;height:60px !important}
.card-svg{width:34px !important;height:34px !important}
.nav-item span{width:54px !important;height:54px !important}
.nav-svg{width:42px !important;height:42px !important}
.category-icon{width:88px !important;height:88px !important}
.category-icon-svg{width:50px !important;height:50px !important}
.more-item>.more-icon{width:60px !important;height:60px !important;flex:0 0 60px !important}
.more-item .more-svg{width:34px !important;height:34px !important}
.tile-icon{width:60px !important;height:60px !important}
.tile-svg{width:34px !important;height:34px !important}
.balance-icon{width:28px !important;height:28px !important}
.balance-svg{width:24px !important;height:24px !important}
.icon-chip{width:26px !important;height:26px !important}
.chip-svg{width:20px !important;height:20px !important}
.top-ornament{width:30px !important;height:30px !important}
.inline-svg{width:18px !important;height:18px !important}
.task-check svg{width:16px !important;height:16px !important}

.today-link{padding:16px 12px !important;min-height:112px !important}
.category-card{padding:24px 7px 18px !important;min-height:154px !important}
.more-item{gap:18px !important}
.casino-tile{gap:12px !important}

@media(max-width:500px){
  .task-form{grid-template-columns:minmax(0,1fr) 42px !important}
  .task-date-row{grid-template-columns:auto minmax(0,1fr);gap:8px}
  .task-form .tiny-add{width:42px;height:42px;font-size:23px}
  .brand-svg{width:30px !important;height:30px !important}
  .header-svg{width:26px !important;height:26px !important}
  .card-icon-badge{width:52px !important;height:52px !important}
  .card-svg{width:30px !important;height:30px !important}
  .nav-item span{width:46px !important;height:46px !important}
  .nav-svg{width:36px !important;height:36px !important}
  .category-icon{width:76px !important;height:76px !important}
  .category-icon-svg{width:42px !important;height:42px !important}
  .more-item>.more-icon{width:52px !important;height:52px !important;flex-basis:52px !important}
  .more-item .more-svg{width:30px !important;height:30px !important}
  .tile-icon{width:52px !important;height:52px !important}
  .tile-svg{width:30px !important;height:30px !important}
}


/* v0.1.9 large illustrations and date row fix
   Keep bottom navigation illustration sizes EXACTLY as in v0.1.8. */

/* Date label + date control must share one horizontal line at all widths. */
.task-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) 46px !important;
  grid-template-rows:auto auto;
  grid-template-areas:"date date" "title add";
  gap:10px 9px !important;
  align-items:stretch;
  width:100%;
}
.task-form .task-date-row{
  grid-area:date !important;
  grid-column:1 / -1 !important;
  grid-row:1 !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:stretch;
  gap:12px;
  width:100%;
  min-width:0;
  margin:0;
}
.task-form .task-date-label{
  font-size:13px;
  font-weight:900;
  line-height:1.4;
  color:#77839b;
  flex:0 0 auto;
  white-space:nowrap;
}
.task-form .task-date-row > #task-new-date{
  display:block;
  position:relative;
  grid-column:auto !important;
  grid-row:auto !important;
  flex:1 1 0 !important;
  width:0 !important;
  min-width:0 !important;
  max-width:none !important;
  height:45px;
  box-sizing:border-box;
  font-size:14px;
  padding:9px 11px !important;
  margin:0;
  -webkit-appearance:auto;
  appearance:auto;
  color:#7b879d !important;
}
.task-form #task-new-title{
  grid-area:title !important;
  grid-column:1 !important;
  grid-row:2 !important;
  width:100%;
  height:46px;
  min-width:0;
  box-sizing:border-box;
}
.task-form .tiny-add{
  grid-area:add !important;
  grid-column:2 !important;
  grid-row:2 !important;
  align-self:stretch;
  width:46px;
  height:46px;
  color:#fff !important;
  box-sizing:border-box;
}

/* Non-footer art: enlarge the actual colored illustrations, not an invisible wrapper. */
.logo-flower{width:50px;height:50px;border-radius:18px;flex:0 0 50px}
.brand-svg{width:39px !important;height:39px !important}
.header-svg{width:34px !important;height:34px !important}
.heading-emoji{margin-left:7px;flex:0 0 auto}
.heading-svg{width:34px !important;height:34px !important}
.title-icon{display:inline-flex;vertical-align:middle;margin-left:7px}
.title-svg{width:50px !important;height:50px !important}
.feature-svg{width:116px !important;height:116px !important}
.card-icon-badge{display:flex;align-items:center;justify-content:center;width:78px !important;height:78px !important;flex:0 0 78px;border:0 !important;background:transparent !important}
.card-svg{width:72px !important;height:72px !important}
.category-icon{display:flex;align-items:center;justify-content:center;width:102px !important;height:102px !important;flex:0 0 102px;max-width:100%;background:none !important;border:0 !important}
.category-icon-svg{width:90px !important;height:90px !important;max-width:100%}
.more-item>.more-icon{width:88px !important;height:88px !important;flex:0 0 88px !important;background:none !important;border:0 !important}
.more-item .more-svg{width:78px !important;height:78px !important}
.tile-icon{width:76px !important;height:76px !important;flex:0 0 76px;background:none !important;border:0 !important}
.tile-svg{width:68px !important;height:68px !important}
.balance-icon{width:34px !important;height:34px !important;flex:0 0 34px}
.balance-svg{width:30px !important;height:30px !important}
.icon-chip{width:34px !important;height:34px !important}
.chip-svg{width:29px !important;height:29px !important}
.top-ornament{width:36px !important;height:36px !important;flex:0 0 36px}
.mini-svg{width:22px !important;height:22px !important}
.inline-svg{width:22px !important;height:22px !important}
.section-svg{width:36px !important;height:36px !important}
.task-check svg{width:17px !important;height:17px !important}

/* Reflow illustrations so headings, captions and links keep their positions. */
.today-link{
  align-items:center !important;
  text-align:center;
  justify-content:flex-start;
  min-height:194px !important;
  padding:20px 9px 16px !important;
  gap:9px !important;
}
.today-link .card-icon-badge{margin:0 auto}
.today-link>div{width:100%;min-width:0}
.today-link strong{font-size:12px;line-height:1.5}
.today-link b{top:8px;right:10px}
.category-card{
  min-height:215px !important;
  padding:17px 7px 13px !important;
  justify-content:flex-start !important;
  align-items:center;
  gap:4px !important;
  overflow:hidden;
}
.category-icon{margin:0 auto 5px !important}
.category-card strong{
  white-space:normal !important;
  overflow-wrap:anywhere;
  text-align:center;
  line-height:1.3;
  font-size:12px;
}
.category-card small{text-align:center;line-height:1.3}
.category-card em{margin-top:auto !important;text-align:center}
.more-item{min-height:105px;padding:9px 14px !important;gap:13px !important}
.more-item>div{min-width:0;flex:1 1 auto}
.more-item>div strong{overflow-wrap:anywhere}
.more-item>b{flex:0 0 auto}
.casino-tile{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0;
  min-height:169px;
  padding:15px 8px !important;
  text-align:center;
  gap:5px !important;
}
.casino-tile strong{line-height:1.4;overflow-wrap:anywhere}
.casino-tile small{line-height:1.2}
.casino-orb{width:132px;height:132px;right:6px;top:-15px}
.orb-svg{width:132px !important;height:132px !important}
.status-bottom .status-balance-label{white-space:nowrap;gap:7px}
.status-bottom .small-star{flex:0 0 auto}

@media(max-width:500px){
  .task-form{grid-template-columns:minmax(0,1fr) 42px !important}
  .task-form .task-date-row{gap:9px}
  .task-form .task-date-label{font-size:12px}
  .task-form .tiny-add{width:42px;height:46px}
  .heading-svg{width:28px !important;height:28px !important}
  .title-svg{width:44px !important;height:44px !important}
  .feature-svg{width:108px !important;height:108px !important}
  .card-icon-badge{width:66px !important;height:66px !important;flex-basis:66px}
  .card-svg{width:62px !important;height:62px !important}
  .today-link{min-height:181px !important;padding:18px 5px 13px !important;gap:8px !important}
  .today-link strong{font-size:11px}
  .category-icon{width:88px !important;height:88px !important;flex-basis:88px}
  .category-icon-svg{width:79px !important;height:79px !important}
  .category-card{min-height:200px !important;padding:16px 4px 12px !important}
  .category-card strong{font-size:11px}
  .more-item>.more-icon{width:74px !important;height:74px !important;flex:0 0 74px !important}
  .more-item .more-svg{width:68px !important;height:68px !important}
  .more-item{min-height:99px}
  .tile-icon{width:66px !important;height:66px !important;flex-basis:66px}
  .tile-svg{width:60px !important;height:60px !important}
  .casino-tile{min-height:165px}
  .status-bottom{gap:7px}
  .icon-chip{width:29px !important;height:29px !important}
  .chip-svg{width:25px !important;height:25px !important}
  /* Intentionally NO changes to .bottom-nav, .nav-item or .nav-svg. */
}
@media(max-width:360px){
  .category-icon{width:79px !important;height:79px !important;flex-basis:79px}
  .category-icon-svg{width:74px !important;height:74px !important}
  .category-card{min-height:197px !important;padding-left:2px !important;padding-right:2px !important}
  .today-link{padding-left:3px !important;padding-right:3px !important}
  .card-icon-badge{width:60px !important;height:60px !important;flex-basis:60px}
  .card-svg{width:56px !important;height:56px !important}
}


/* v0.2.0 — precise title/icon alignment. Overrides legacy inline-baseline rules. */
.page-heading h1.page-title{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    min-height:54px;
    line-height:1.12;
    flex-wrap:nowrap;
}
.page-heading h1.page-title .page-title-text{
    display:block;
    flex:0 1 auto;
    min-width:0;
    line-height:1.12;
    font-size:inherit;
    overflow-wrap:break-word;
}
.page-heading h1.page-title > .title-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    position:static;
    vertical-align:initial;
    width:50px;
    height:50px;
    flex:0 0 50px;
    margin:0;
    padding:0;
    line-height:1;
}
.page-heading h1.page-title > .title-icon > svg.title-svg{
    display:block;
    flex:0 0 auto;
    width:50px !important;
    height:50px !important;
    margin:0;
}
@media(max-width:500px){
    .page-heading h1.page-title{gap:9px;min-height:48px}
    .page-heading h1.page-title > .title-icon{width:44px;height:44px;flex-basis:44px}
    .page-heading h1.page-title > .title-icon > svg.title-svg{width:44px !important;height:44px !important}
}


/* v0.2.1 usability + accessibility improvements */
/* Use the same artwork as the PWA icon beside the HOME header title. */
.site-header .logo-flower{
  padding:0;
  background:transparent !important;
  box-shadow:none;
  border:0;
  overflow:hidden;
}
.header-app-icon{display:block;width:100%;height:100%;border-radius:17px;object-fit:cover}

/* Deepen pale secondary copy without losing the muted palette. */
.eyebrow{color:#657187 !important}
.hero p,.page-heading p{color:#5d687b !important}
.today-link small,.category-card small,.more-item small,.casino-tile small,
.memo-card span,.memo-card small,.recent-row small,.recent-row span,
.task-desc small,.small-note,.empty-copy,.muted-chip,.category-card em,
.feature-panel p,.body-copy,.casino-panel p,.profile-title,.back-link,
.settings-card .help-text,.fineprint{
  color:#657184 !important;
}
.today-link.dimmed{opacity:1}
.today-link.dimmed small{color:#677386 !important}
.category-card em,.casino-tile small{font-weight:800;letter-spacing:.02em}

/* MEMO card titles: dusty mauve rather than strong blue. */
.memo-grid .memo-card strong{
  color:#796e82 !important;
  font-weight:900;
}

/* Avoid iOS Safari's focus zoom and page-wide horizontal movement. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
.app-shell,.main-content,.card,#task-section,#memo-section{min-width:0;max-width:100%}
.memo-grid,.memo-card,.memo-dialog,.memo-dialog input,.memo-dialog textarea{
  min-width:0;box-sizing:border-box;
}
.memo-dialog input,.memo-dialog textarea{display:block;width:100%;max-width:100%}
.modal-backdrop{max-width:100vw;box-sizing:border-box;overflow-x:hidden}
.memo-dialog{max-width:calc(100vw - 28px);overflow-x:hidden}
@media(max-width:767px){
  /* 16px is the iPhone Safari threshold that prevents automatic zoom on focus. */
  .task-form input,
  #task-new-date,#task-new-title,
  .memo-dialog input,.memo-dialog textarea,
  .memo-title-input,
  .inline-form input,.auth-card input{
    font-size:16px !important;
    -webkit-text-size-adjust:100%;
  }
  .task-form .task-date-row > #task-new-date{font-size:16px !important}
  .memo-title-input{font-size:16px !important}
  .memo-dialog textarea{font-size:16px !important;line-height:1.65}
  .memo-dialog{padding:17px;max-width:calc(100vw - 24px)}
  .memo-footer{flex-wrap:wrap}
  .task-form{min-width:0}
  .task-form .task-date-row{min-width:0;max-width:100%}
}
@supports (height:100dvh){
  .modal-backdrop{max-height:100dvh}
  .memo-dialog{max-height:calc(100dvh - 28px)}
}

/* On phones three CASINO tiles take one full row each, in DOM order (SHOP/GACHA stay paired). */
@media(max-width:500px){
  .casino-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}
  .casino-tiles > .casino-tile:nth-child(1),
  .casino-tiles > .casino-tile:nth-child(2),
  .casino-tiles > .casino-tile:nth-child(7),
  .game-hub-tiles > .game-menu-card--wide{
    grid-column:1 / -1;
    display:grid !important;
    grid-template-columns:76px minmax(0,1fr);
    grid-template-rows:auto auto;
    align-content:center;
    align-items:center !important;
    justify-content:start !important;
    text-align:left;
    column-gap:14px !important;
    row-gap:5px !important;
    min-height:118px;
    padding:14px 20px !important;
  }
  .casino-tiles > .casino-tile:nth-child(1) .tile-icon,
  .casino-tiles > .casino-tile:nth-child(2) .tile-icon,
  .casino-tiles > .casino-tile:nth-child(7) .tile-icon,
  .game-hub-tiles > .game-menu-card--wide .tile-icon{
    grid-column:1;grid-row:1 / 3;
    width:76px !important;height:76px !important;
    margin:0;
  }
  .casino-tiles > .casino-tile:nth-child(1) .tile-svg,
  .casino-tiles > .casino-tile:nth-child(2) .tile-svg,
  .casino-tiles > .casino-tile:nth-child(7) .tile-svg,
  .game-hub-tiles > .game-menu-card--wide .tile-svg{width:68px !important;height:68px !important}
  .casino-tiles > .casino-tile:nth-child(1) strong,
  .casino-tiles > .casino-tile:nth-child(2) strong,
  .casino-tiles > .casino-tile:nth-child(7) strong,
  .game-hub-tiles > .game-menu-card--wide strong{
    grid-column:2;grid-row:1;
    font-size:15px;
    align-self:end;
  }
  .casino-tiles > .casino-tile:nth-child(1) small,
  .casino-tiles > .casino-tile:nth-child(2) small,
  .casino-tiles > .casino-tile:nth-child(7) small,
  .game-hub-tiles > .game-menu-card--wide small{
    grid-column:2;grid-row:2;
    font-size:11px;
    align-self:start;
  }
}
@media(max-width:360px){
  .casino-tiles > .casino-tile:nth-child(1),
  .casino-tiles > .casino-tile:nth-child(2),
  .casino-tiles > .casino-tile:nth-child(7),
  .game-hub-tiles > .game-menu-card--wide{
    grid-template-columns:65px minmax(0,1fr);
    padding-inline:14px !important;
  }
  .casino-tiles > .casino-tile:nth-child(1) .tile-icon,
  .casino-tiles > .casino-tile:nth-child(2) .tile-icon,
  .casino-tiles > .casino-tile:nth-child(7) .tile-icon,
  .game-hub-tiles > .game-menu-card--wide .tile-icon{width:65px !important;height:65px !important}
}


/* v0.2.2 — strong LIFE level, gentle task date tag, roomier footer */
.status-card .name-line{align-items:center;row-gap:10px;column-gap:11px}
.status-card .life-level{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:7px 11px 7px 13px;
  min-height:42px;
  white-space:nowrap;
  border:1px solid #cbbad6;
  border-radius:16px;
  background:linear-gradient(120deg,#e8e3f1 0%,#f5e9ee 100%);
  box-shadow:0 4px 11px rgba(147,124,168,.14);
  color:#635d7a;
  font-weight:900;
  letter-spacing:.025em;
}
.status-card .life-level .life-level-label{font-size:14px;line-height:1.1}
.status-card .life-level strong.life-level-value{
  font-size:22px;
  font-weight:950;
  line-height:1;
  color:#675884;
}
.status-card .life-level .life-level-icon{width:20px;height:20px;flex:0 0 20px}

/* Calendar pictogram and label read as one horizontal tag. Date input still fills the remaining width. */
.task-form .task-date-row{gap:10px;align-items:center}
.task-form .task-date-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  height:46px;
  padding:0 11px 0 9px;
  border-radius:13px;
  border:1px solid transparent;
  background:linear-gradient(135deg,#f1ecf4,#e9e9f1);
  color:#756782;
  font-size:14px;
  font-weight:900;
  letter-spacing:.04em;
  box-shadow:0 2px 7px rgba(128,114,148,.07);
  flex:0 0 auto;
  white-space:nowrap;
  line-height:1;
}
.task-form .task-date-label .task-date-svg{width:25px;height:25px;flex:0 0 25px;display:block}
.task-form .task-date-row > #task-new-date{height:46px;flex:1 1 0;min-width:0;max-width:100%;width:0 !important}
.task-form .task-date-row > #task-new-date:focus-visible{border-color:#b6a4ca;outline:2px solid #d9cde4;outline-offset:1px}

/* Footer illustrations enlarge two steps. Maintain touch targets and room for captions. */
.bottom-nav{
  height:calc(94px + env(safe-area-inset-bottom,0px));
  padding-top:8px;
  padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));
  align-items:center;
}
.bottom-nav .nav-item{min-width:0;gap:2px}
.bottom-nav .nav-item span{width:58px !important;height:58px !important;flex:0 0 58px}
.bottom-nav .nav-item .nav-svg{width:49px !important;height:49px !important}
.bottom-nav .nav-item small{font-size:10px;line-height:1.2;white-space:nowrap}
.bottom-nav .nav-plus{margin:-3px auto 0;flex:0 0 auto}
.app-shell{padding-bottom:calc(151px + env(safe-area-inset-bottom,0px))}
.global-toast{bottom:calc(109px + env(safe-area-inset-bottom,0px))}

@media(max-width:500px){
  .status-card .life-level{min-height:40px;padding:6px 11px;gap:6px}
  .status-card .life-level .life-level-label{font-size:13px}
  .status-card .life-level strong.life-level-value{font-size:21px}
  .status-card .life-level .life-level-icon{width:18px;height:18px;flex-basis:18px}
  .task-form .task-date-row{gap:8px}
  .task-form .task-date-label{height:46px;padding:0 9px 0 7px;gap:3px;font-size:13px}
  .task-form .task-date-label .task-date-svg{width:22px;height:22px;flex-basis:22px}
  .bottom-nav .nav-item span{width:55px !important;height:55px !important;flex-basis:55px}
  .bottom-nav .nav-item .nav-svg{width:47px !important;height:47px !important}
  .bottom-nav .nav-item small{font-size:10px}
}
@media(max-width:359px){
  .bottom-nav .nav-item span{width:52px !important;height:52px !important;flex-basis:52px}
  .bottom-nav .nav-item .nav-svg{width:45px !important;height:45px !important}
}

/* v0.2.3 — TASK: vertically center the date text in iPhone Safari.
   Keep the native date picker, existing 46px field and horizontal layout. */
.task-form .task-date-row > input#task-new-date{
  height:46px;
  min-height:46px;
  box-sizing:border-box;
  padding:0 13px !important;
  line-height:normal !important;
  vertical-align:middle;
}
.task-form .task-date-row > input#task-new-date::-webkit-date-and-time-value{
  min-height:100%;
  display:flex;
  align-items:center;
  text-align:left;
}
.task-form .task-date-row > input#task-new-date::-webkit-datetime-edit{
  display:inline-flex;
  align-items:center;
  min-height:100%;
  box-sizing:border-box;
  padding:0;
  line-height:normal;
}
.task-form .task-date-row > input#task-new-date::-webkit-datetime-edit-fields-wrapper{
  display:inline-flex;
  align-items:center;
  min-height:100%;
}


/* v0.2.4 — LIFE Lv. redesigned with elegant SVG icon, no pill background */
.status-card .name-line{
  align-items:flex-end !important;
  row-gap:10px;
}
.status-card .life-level{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  min-height:0 !important;
  padding:0 !important;
  margin-left:2px;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.status-card .life-level .life-level-icon-wrap{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.status-card .life-level .life-level-icon{
  width:38px;
  height:38px;
  display:block;
}
.status-card .life-level .life-level-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1px;
  line-height:1;
}
.status-card .life-level .life-level-label{
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em;
  color:#8a7997 !important;
  line-height:1.05 !important;
}
.status-card .life-level strong.life-level-value{
  font-size:30px !important;
  font-weight:900;
  letter-spacing:-.04em;
  line-height:.92 !important;
  color:#5d688f;
  text-shadow:0 1px 0 rgba(255,255,255,.45);
}

/* v0.2.4 — TASK date label readability */
.task-form .task-date-label{
  background:linear-gradient(135deg,#eee7ed,#e6e8ef) !important;
  color:#5f526c !important;
  box-shadow:none !important;
}
.task-form .task-date-label span{
  color:#5f526c !important;
  font-size:15px;
  font-weight:900;
  letter-spacing:.05em;
}
.task-form .task-date-label .task-date-svg{
  width:24px !important;
  height:24px !important;
  flex:0 0 24px !important;
}

@media(max-width:500px){
  .status-card .life-level{gap:9px !important}
  .status-card .life-level .life-level-icon-wrap,
  .status-card .life-level .life-level-icon{width:34px;height:34px;flex-basis:34px}
  .status-card .life-level .life-level-label{font-size:11px !important}
  .status-card .life-level strong.life-level-value{font-size:27px !important}
  .task-form .task-date-label span{font-size:14px}
}


/* v0.2.5 — Compact, perfectly centered TASK date field across iPhone Safari. */
.task-form .task-date-row{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  min-width:0;
}
.task-form .task-date-label{
  height:44px !important;
  min-height:44px;
  padding:0 10px !important;
  line-height:1 !important;
}
.task-form .task-date-control{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:1 1 0;
  min-width:0;
  height:44px;
  border-radius:12px;
  border:1px solid #e4e5ed;
  background:#fbfcff;
  overflow:hidden;
}
.task-form .task-date-control:focus-within{
  outline:2px solid #b8a9cf;
  outline-offset:1px;
}
.task-form .task-date-display{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  font-weight:800;
  line-height:1.2;
  color:#65748d;
  pointer-events:none;
  white-space:nowrap;
}
.task-form .task-date-display.is-placeholder{color:#8895a8;font-size:14px}
.task-form .task-date-control > input#task-new-date{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:100% !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  opacity:0 !important;
  -webkit-appearance:none;
  appearance:none;
  cursor:pointer;
  font-size:16px !important;
}
/* v0.2.5 — LIFE Lv. 1: single baseline, only the number a little larger. */
.status-card .life-level{
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:7px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap;
}
.status-card .life-level .life-level-icon-wrap,
.status-card .life-level .life-level-icon{
  width:27px !important;
  height:27px !important;
  flex:0 0 27px !important;
}
.status-card .life-level .life-level-meta{
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:baseline !important;
  gap:5px !important;
  line-height:1.2 !important;
  white-space:nowrap;
}
.status-card .life-level .life-level-label{
  font-size:14px !important;
  line-height:1.2 !important;
  letter-spacing:.02em !important;
  color:#7f718c !important;
}
.status-card .life-level strong.life-level-value{
  font-size:20px !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  color:#5c6484;
}
@media(max-width:500px){
  .status-card .life-level .life-level-icon-wrap,
  .status-card .life-level .life-level-icon{width:25px !important;height:25px !important;flex-basis:25px !important}
  .status-card .life-level .life-level-label{font-size:13px !important}
  .status-card .life-level strong.life-level-value{font-size:19px !important}
  .task-form .task-date-row{gap:8px !important}
  .task-form .task-date-label{height:42px !important;min-height:42px}
  .task-form .task-date-control{height:42px}
}


/* v0.2.6 — MORE: selected pairs share a row on smartphones only. */
@media (max-width:600px) {
  .more-list {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:10px;
    row-gap:10px;
  }
  .more-list > .more-item {
    grid-column:1 / -1;
    min-width:0;
  }
  .more-list > .more-item--pair {
    grid-column:span 1;
    min-width:0;
    min-height:174px;
    padding:14px 8px 13px !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:6px !important;
    position:relative;
  }
  .more-list > .more-item--pair > .more-icon {
    flex:0 0 auto !important;
    margin:0 auto;
  }
  .more-list > .more-item--pair > div {
    flex:0 0 auto;
    width:100%;
    min-width:0;
  }
  .more-list > .more-item--pair strong {
    line-height:1.3;
    overflow-wrap:normal;
    word-break:keep-all;
  }
  .more-list > .more-item--pair small {
    margin-top:4px;
    line-height:1.45;
    overflow-wrap:anywhere;
  }
  .more-list > .more-item--pair > b {
    position:absolute;
    top:5px;
    right:10px;
    font-size:18px;
    opacity:.72;
  }
}
@media (max-width:359px) {
  .more-list {column-gap:7px}
  .more-list > .more-item--pair {padding:12px 5px !important;min-height:166px}
  .more-list > .more-item--pair strong{font-size:13px}
}

/* v0.2.35 — Prevent accidental double-tap zoom across the entire app.
   manipulation = pan-x + pan-y + pinch-zoom, so accessibility pinch
   magnification stays available. Apply to descendants too: a touch on a
   card/image/text should behave the same as a touch on a form control.
   Deliberately avoid user-scalable=no, maximum-scale=1, and preventDefault. */
html, body, body * {touch-action:manipulation}

/* v0.2.7 BACKUP - limited to its own page, preserving v0.2.6 layouts. */
.backup-panel,.backup-info{min-width:0}
.backup-panel h2,.backup-info h2{margin-bottom:12px}
.backup-panel .body-copy,.backup-info .body-copy{line-height:1.85}
.backup-detail{display:flex;align-items:center;gap:12px;margin:21px 0 18px;padding:14px 16px;border:1px solid #ebe9f3;border-radius:18px;background:linear-gradient(120deg,#f4f8fb,#f7f3f9,#fbf5f8);min-width:0}
.backup-detail>span{display:flex;align-items:center;justify-content:center;flex:0 0 43px;height:43px}
.backup-detail-svg{width:43px;height:43px}
.backup-detail>div{min-width:0}
.backup-detail strong,.backup-detail small{display:block;overflow-wrap:anywhere}
.backup-detail strong{font-size:14px;color:#4b5364}
.backup-detail small{font-size:12px;margin-top:3px;color:#647081}
.backup-form{margin:0 0 15px}
.backup-download{display:block;width:100%;min-height:48px;border-radius:15px;font-size:15px;cursor:pointer;touch-action:manipulation}
.backup-panel .small-note{line-height:1.75;margin:0}
.backup-info .body-copy + .body-copy{margin-top:11px}

/* v0.2.8 — RESTORE panel; changes are scoped to BACKUP only. */
.restore-panel{min-width:0}
.restore-panel h2{margin-bottom:12px}
.restore-panel .body-copy{line-height:1.85}
.restore-warning{line-height:1.8;border-radius:14px;background:#fbf2f3;border:1px solid #edced9;color:#744a5b;padding:13px 15px;margin:16px 0 20px;font-size:14px}
.restore-preview{padding:15px;border-radius:17px;background:linear-gradient(120deg,#f4f8fb,#f8f4f9);border:1px solid #ebe6f1;margin:14px 0 19px}
.restore-preview>strong{display:block;margin-bottom:12px;color:#4b5364}
.restore-preview dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;margin:0;font-size:13px}
.restore-preview dt{color:#657083;min-width:0;overflow-wrap:anywhere}
.restore-preview dd{margin:0;color:#414958;text-align:right;overflow-wrap:anywhere}
.restore-form{display:grid;gap:11px;margin:15px 0}
.restore-form .field-label{margin:4px 0 0}
.restore-form input[type="text"],.restore-form input[type="password"],.restore-form input[type="file"]{font:inherit;font-size:16px;max-width:100%;min-width:0;width:100%;border:1px solid #d8dbe4;border-radius:12px;background:white;padding:12px;color:#424756;box-sizing:border-box}
.restore-form input[type="file"]{font-size:14px}
.restore-check{display:flex;gap:9px;align-items:flex-start;color:#4d596a;font-size:13px;line-height:1.6;padding:9px 0}
.restore-check input{width:18px;height:18px;flex:0 0 18px;margin-top:2px;accent-color:#879fbe}
.restore-submit{width:100%;min-height:48px;border-radius:15px;font-size:15px;margin-top:7px;cursor:pointer}
.restore-cancel{margin:4px 0 14px}
.restore-cancel button{width:100%;min-height:44px;border-radius:14px}
.restore-panel .small-note{line-height:1.75;margin-top:11px}
.restore-message{padding:13px 16px;border-radius:14px;border:1px solid #d3dbe7;background:#f0f4fb;color:#4d5c71;margin:16px 0;line-height:1.7;font-size:14px}
.restore-message.is-error{border-color:#e7cad3;background:#fcf2f4;color:#8b4d61}
.restore-message.is-success{border-color:#bddbd0;background:#eff8f4;color:#36685b}

/* v0.2.16 — HOME intro after removing the large heading. */
.hero p{line-height:1.65}
/* v0.2.21: gently tighten the space below the HOME eyebrow. */
.hero > p{margin-top:2px}
/* v0.2.18: HOME eyebrow only. */
.hero > .eyebrow{font-size:13px;font-weight:900;-webkit-text-stroke:.4px currentColor}

/* v0.2.22 — HOME MEMO actions. Scoped to this card; all other links/buttons stay unchanged. */
#memo-section .home-memo-list-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex:0 0 auto;
  min-height:36px;
  margin:0;
  padding:5px 7px 5px 13px;
  border:1px solid #e7e3ef;
  border-radius:999px;
  background:linear-gradient(125deg,#f9fcfe,#f8f5fc,#fff7fa);
  box-shadow:0 4px 11px rgba(138,137,172,.1);
  color:#766783;
  font-size:12px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.02em;
  text-decoration:none;
  white-space:nowrap;
  transition:background-color .15s,transform .15s,box-shadow .15s;
}
#memo-section .home-memo-list-arrow{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:50%;
  background:linear-gradient(135deg,#d9eaf1,#e9ddf0,#f3dbe5);
  color:#766f94;
  font-size:14px;
  line-height:1;
}
#memo-section .home-memo-create-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:fit-content;
  max-width:100%;
  min-width:190px;
  min-height:46px;
  margin:18px auto 0;
  padding:7px 20px 7px 9px;
  border:1px solid #e3dfea;
  border-radius:999px;
  background:linear-gradient(115deg,#d7eaf0,#e5d9ed 58%,#f1d9e4);
  box-shadow:0 6px 16px rgba(155,138,179,.17);
  color:#655d7b;
  font-size:13px;
  font-weight:900;
  line-height:1.3;
  letter-spacing:.025em;
  cursor:pointer;
  transition:transform .15s,box-shadow .15s;
}
#memo-section .home-memo-create-plus{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  background:rgba(255,255,255,.85);
  box-shadow:0 2px 6px rgba(143,125,160,.11);
  color:#8978a9;
  font-size:23px;
  font-weight:600;
  line-height:1;
}
@media (hover:hover){
  #memo-section .home-memo-list-btn:hover,
  #memo-section .home-memo-create-btn:hover{transform:translateY(-1px);box-shadow:0 8px 19px rgba(139,126,169,.19)}
}
#memo-section .home-memo-list-btn:focus-visible,
#memo-section .home-memo-create-btn:focus-visible{outline:3px solid #a9c6e0;outline-offset:3px}
#memo-section .home-memo-list-btn:active,
#memo-section .home-memo-create-btn:active{transform:translateY(0)}
@media(max-width:370px){
  #memo-section .home-memo-list-btn{font-size:11px;padding-left:10px;gap:5px}
  #memo-section .home-memo-list-arrow{width:23px;height:23px;flex-basis:23px}
}

/* v0.2.23 — HOME MEMO: actions only, no previews. */
#memo-section .section-top{margin-bottom:15px}
#memo-section .home-memo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}
#memo-section .home-memo-list-btn,
#memo-section .home-memo-create-btn{width:100%;max-width:none;min-width:0;min-height:51px;margin:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;font-size:13px;line-height:1.4;text-align:center;white-space:normal}
#memo-section .home-memo-list-btn{background:linear-gradient(120deg,#f9fcfe,#f3f4fa 60%,#fcf4fa);border:1px solid #e4e3ef;color:#6d7191}
#memo-section .home-memo-create-btn{background:linear-gradient(115deg,#d9ebf1,#e5d9ed 58%,#f2d9e6);border:1px solid #e1dbea;color:#5f5b78}
#memo-section .home-memo-create-plus{width:27px;height:27px;flex-basis:27px;font-size:21px}
#memo-section .home-memo-list-arrow{width:25px;height:25px;flex-basis:25px}
@media(max-width:375px){#memo-section .home-memo-actions{grid-template-columns:1fr;gap:9px}}


/* v0.2.39 — HOME: compact Japanese intro; keep other page headings unchanged. */
.hero.hero--compact{padding:0 8px;margin-top:-4px}
.hero.hero--compact > p{margin:0!important;line-height:1.6}
/* Casino uses exactly the same MY STATUS card structure, with a different level SVG and EXP. */
.casino-status-card{background:rgba(255,255,255,.95)!important;border:1px solid #f0f1f7!important}

/* CASINO equipped profile frame also appears on HOME (v0.2.69). */
.casino-frame-host{position:relative;overflow:visible}
.casino-avatar-frame-art{position:absolute!important;inset:-11px!important;width:calc(100% + 22px)!important;height:calc(100% + 22px)!important;max-width:none!important;max-height:none!important;object-fit:contain!important;border-radius:0!important;background:transparent!important;pointer-events:none;z-index:3}

/* v0.2.76: HOME casino-only shortcuts; removed unused third item card. */
.today-grid.today-grid--casino{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.today-grid--casino .today-link{min-width:0;min-height:145px!important;padding:15px 10px!important}
.today-grid--casino .today-link small{display:block;line-height:1.55;overflow-wrap:anywhere;hyphens:auto;color:#6c819d}
.today-grid--casino .today-link small.is-available{color:#ad789d;font-weight:850}
.today-grid--casino .today-link .today-mission-count{color:#7489ac;font-weight:850;font-variant-numeric:tabular-nums}
@media(max-width:500px){.today-grid--casino .today-link{min-height:153px!important;padding:16px 7px!important}}

/* v0.2.93: equipped CASINO frame is circular; prevent square portrait corners
   from showing behind the SVG on MY STATUS and CASINO STATUS. */
.status-card .avatar-wrap.casino-frame-host[data-frame]:not([data-frame="default"]){border-radius:50%}
.status-card .avatar-wrap.casino-frame-host[data-frame]:not([data-frame="default"]) > img:not(.casino-avatar-frame-art),
.status-card .avatar-wrap.casino-frame-host[data-frame]:not([data-frame="default"]) > .avatar-placeholder{border-radius:50%}

/* v0.2.96: same pill-and-aurora arrow treatment as MOVIE's MYLOG back button. */
.subpage-back-link{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;min-height:45px;padding:6px 17px 6px 7px;margin-bottom:18px;border-radius:999px;border:1px solid #e4e7f2;background:rgba(255,255,255,.94);box-shadow:0 5px 15px rgba(118,132,160,.09);color:#5f7090;font-size:12px;font-weight:900;line-height:1.3;text-decoration:none;transition:background-color .16s,box-shadow .16s,transform .16s}
.subpage-back-arrow{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(130deg,#d9eaf0,#e9dbef 65%,#f2dbe6);color:#6d789b}
.subpage-back-link .subpage-back-arrow svg{display:block;width:17px !important;height:17px !important;min-width:17px;min-height:17px;max-width:17px;max-height:17px;flex:0 0 17px;object-fit:contain}
.subpage-back-link:hover{background:#fff;box-shadow:0 7px 19px rgba(118,132,160,.15);transform:translateY(-1px)}
.subpage-back-link:active{transform:translateY(0)}
.subpage-back-link:focus-visible{outline:3px solid #a9c6e0;outline-offset:3px}
.subpage-back-link span:last-child{overflow-wrap:anywhere}

/* v0.2.109 — shared subpage back: same shape as MYLOG MOVIE/DARTS. */
.mynote-back-link{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;min-height:45px;padding:6px 17px 6px 7px;margin-bottom:18px;border-radius:999px;border:1px solid #e4e7f2;background:rgba(255,255,255,.94);box-shadow:0 5px 15px rgba(118,132,160,.09);color:#5f7090;font-size:12px;font-weight:900;line-height:1.3;text-decoration:none}
.mynote-back-link .movie-back-arrow{width:31px;height:31px;min-width:31px;border-radius:50%;background:linear-gradient(135deg,#e7f3fb,#f4e4f7 50%,#f7eaf0);display:grid;place-items:center;color:#8294bd}
.mynote-back-link .movie-back-arrow svg{display:block;width:17px!important;height:17px!important;flex:none}
/* Soft pressed state, independent from existing transforms (e.g. tilted polaroids). */
button:not(:disabled),a[class],label[for], [role="button"]{transition:scale .14s ease,filter .14s ease}
button:not(:disabled):active,a[class]:active,label[for]:active,[role="button"]:active{scale:.965;filter:brightness(.985)}
@media(prefers-reduced-motion:reduce){button:not(:disabled),a[class],label[for],[role="button"]{transition:none!important}}
/* Double-tap enlargement is disabled while native pinch zoom stays available. */
html,body,body *{touch-action:manipulation}
/* Level-up notices: always above bottom nav and dialogs, focus-safe and short-lived. */
.mynote-level-overlay{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;padding:24px;background:#38354b88;backdrop-filter:blur(9px)}
.mynote-level-modal{width:min(100%,420px);padding:32px 20px 28px;border:1px solid #f2e5f5;border-radius:30px;background:radial-gradient(circle at 12% 0%,#e4f5ff 0%,transparent 54%),radial-gradient(circle at 90% 90%,#f9dfed 0%,transparent 54%),#fff;text-align:center;box-shadow:0 18px 60px #51496540;display:grid;gap:12px;justify-items:center;animation:mynote-level-bloom .36s cubic-bezier(.18,.85,.35,1)}
.mynote-level-emblem{width:72px;height:72px;border-radius:26px;display:grid;place-items:center;background:linear-gradient(135deg,#e9e1fa,#d9eff9,#f9e2ec);font-size:39px;color:#967faa}
.mynote-level-title{font-size:14px;font-weight:900;letter-spacing:.12em;color:#9887b5}
.mynote-level-value{font-size:clamp(32px,10vw,52px);line-height:1.25;font-weight:900;color:#7a739b;font-variant-numeric:tabular-nums}
.mynote-level-modal button{min-width:158px;min-height:47px;background:linear-gradient(120deg,#e9f3ff,#f3dff1,#e5f6ec);border:1px solid #e6dcec;border-radius:999px;font-size:14px;font-weight:900;color:#74668e}
@keyframes mynote-level-bloom{from{opacity:0;scale:.84}to{opacity:1;scale:1}}
@media(prefers-reduced-motion:reduce){.mynote-level-modal{animation:none}}
/* Monday-first HOME: Saturday blue, Sunday soft pink. */
.cal-heading:first-child{color:#9aacc0}
.cal-heading:nth-child(6){color:#91b5d4}
.cal-heading:nth-child(7){color:#e2a2af}
/* Reliable pressed feedback on iPhone touch gestures without suppressing pinch zoom. */
.mynote-is-pressed:not(:disabled){scale:.965;filter:brightness(.985)}


/* Shared media picker for form image uploads */
.mynote-media-picker{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.mynote-media-row{display:flex;gap:16px;align-items:center}
.mynote-media-preview{width:112px;flex:0 0 112px;display:grid;place-items:center;border-radius:15px;overflow:hidden;background:linear-gradient(145deg,#f2edf7,#eef3fa 56%,#eef8f3);border:1px solid #e3e7f0;color:#8792a8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.68)}
.mynote-media-preview img{width:100%;height:100%;display:block;object-fit:cover}
.mynote-media-placeholder{width:100%;height:100%;display:grid;place-items:center;padding:16px}
.mynote-media-placeholder svg{width:58%;height:auto;max-width:82px;opacity:.88}
.mynote-media-controls{display:flex;align-items:flex-start;flex-direction:column;gap:8px;min-width:0}
.mynote-media-controls small{font-size:11px;margin:0;line-height:1.7;font-weight:700;color:#77869c}
.mynote-file-choose{cursor:pointer;display:inline-flex;padding:10px 16px;border-radius:12px;background:#edf1f8;color:#667994;font-weight:900;font-size:12px;border:0;font-family:inherit}
.mynote-file-choose input{display:none}
.mynote-text-button{align-self:flex-start;padding:3px;border:0;background:transparent;color:#7188aa;font-size:12px;font-weight:900;font-family:inherit;cursor:pointer}
.mynote-media-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.mynote-media-thumb{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#eff0f7;border:1px solid #dedbe9;cursor:pointer}
.mynote-media-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mynote-media-thumb.is-active{border-color:#c5bddb;box-shadow:0 0 0 2px rgba(214,202,230,.8),0 5px 12px rgba(178,169,197,.18)}
.mynote-media-thumb:focus-visible{outline:3px solid #a7ccec;outline-offset:2px}
.mynote-media-remove{position:absolute;top:4px;right:4px;border:0;border-radius:999px;width:26px;height:26px;background:#ffffffed;box-shadow:0 1px 6px #4442;color:#9e7b96;font-size:19px;font-weight:900;line-height:1;cursor:pointer}
@media(max-width:500px){.mynote-media-row{gap:11px}.mynote-media-preview{width:100px;flex-basis:100px}}
@media(max-width:380px){.mynote-media-row{flex-direction:column;align-items:stretch}.mynote-media-preview{width:100%;flex:0 0 auto;max-width:none;min-height:160px}.mynote-media-controls{align-items:stretch}.mynote-file-choose,.mynote-text-button{text-align:center;justify-content:center}}
/* LIST handoff shown inside the existing MYLOG registration forms. */
.wish-handoff-banner{border:1px solid #dfd8ee;border-radius:15px;padding:13px 15px;margin:0 0 16px;background:linear-gradient(120deg,#f9edf7,#ebf1fc 56%,#eff9f2);color:#826e93;display:flex;flex-direction:column;gap:5px}.wish-handoff-banner>span{font-weight:900;font-size:13px}.wish-handoff-banner small{font-size:11px;line-height:1.6;color:#88829c}.wish-handoff-error{color:#b66c84;font-size:12px;margin:6px 0 0}

/* v0.2.137 — HOME: unopened TIME CAPSULE arrival */
.home-capsule-alert{display:flex;align-items:center;gap:13px;min-width:0;border:1px solid #eadfee;border-radius:21px;padding:15px 16px;text-decoration:none;background:linear-gradient(120deg,#fff4fa 0%,#f8f5ff 52%,#f0faff 100%);box-shadow:0 7px 22px #afa6ca20;color:#73839b}
.home-capsule-alert:focus-visible{outline:3px solid #b1a2dd;outline-offset:3px}
.home-capsule-alert-icon{flex:0 0 49px;width:49px;height:49px;display:grid;place-items:center;border-radius:16px;background:#fff;border:1px solid #f5ebf2;box-shadow:0 3px 12px #d1bdcf26;font-size:27px}
.home-capsule-alert-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px;overflow-wrap:anywhere}
.home-capsule-alert-copy strong{font-size:13px;line-height:1.6;color:#887ca1;font-weight:850}
.home-capsule-alert-copy small{font-size:11px;line-height:1.65;color:#8c97ac;font-weight:650}
.home-capsule-alert-arrow{font-size:26px;color:#b3a1c7;line-height:1}
@media(max-width:375px){.home-capsule-alert{padding:13px 11px;gap:9px}.home-capsule-alert-icon{flex-basis:42px;width:42px;height:42px;font-size:24px}.home-capsule-alert-copy strong{font-size:12px}}

/* v0.2.142 — TITLES celebrations use the existing LEVEL UP overlay. */
.mynote-title-unlock-modal{max-height:calc(100dvh - 44px);overflow-y:auto;gap:10px;padding:27px 18px 23px;border-color:#eae3f2;background:radial-gradient(circle at 7% 3%,#e7f4ff 0%,transparent 50%),radial-gradient(circle at 96% 92%,#fae4ef 0%,transparent 52%),#fff}
.mynote-title-unlock-modal .mynote-level-emblem{width:80px;height:80px;border-radius:28px;box-shadow:0 7px 23px #b8a6d02c}
.mynote-title-unlock-lead{font-size:clamp(17px,4.7vw,22px);font-weight:900;color:#786f9c;line-height:1.6}
.mynote-title-unlock-list{display:grid;gap:9px;width:100%;min-width:0}
.mynote-title-unlock-item{display:grid;gap:5px;border:1px solid #eee6f4;background:#ffffffcc;border-radius:17px;padding:12px 9px;box-shadow:0 4px 14px #afa0bd17;min-width:0}
.mynote-title-unlock-kind{font-size:10px;font-weight:900;letter-spacing:.09em;color:#a59cb9}
.mynote-title-unlock-name{font-size:clamp(18px,5.4vw,25px);line-height:1.5;color:#776d92;font-weight:900;overflow-wrap:anywhere}
.mynote-title-unlock-more{font-size:12px;font-weight:800;color:#8b7ca3;padding:5px}
.mynote-title-unlock-hint{font-size:12px;color:#9896a8;line-height:1.65;margin:2px 0 0}
.mynote-title-unlock-link{font-size:12px;color:#8c79a6;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.mynote-title-unlock-modal button{font-size:15px;min-height:48px;width:min(100%,220px);margin-top:3px}
@media(max-width:360px){.mynote-level-overlay{padding:13px}.mynote-title-unlock-modal{padding:20px 12px 18px}}
@media(prefers-reduced-motion:reduce){.mynote-title-unlock-modal{animation:none}}

/* v0.2.147 — make existing small calendar / dialog controls easier to tap on iPhone. */
.month-nav{gap:7px}
.month-nav a{width:44px;height:44px;flex:0 0 44px;border-radius:12px;touch-action:manipulation}
.modal-close{width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px}

/* v0.2.148 — unobtrusive PWA status; no modal and no offline data caching. */
.mynote-pwa-notice{display:flex;align-items:center;gap:12px;min-width:0;background:linear-gradient(110deg,#f3f8ff,#faf4ff 55%,#fff5fa);border:1px solid #e6eaf5;border-radius:18px;padding:13px 14px;box-shadow:0 8px 20px rgba(97,110,147,.07)}
.mynote-pwa-notice.is-offline{background:#fff9f5;border-color:#f1dfd1}
.mynote-pwa-notice-icon{font-size:23px;flex:0 0 auto}
.mynote-pwa-notice-copy{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.mynote-pwa-notice-copy strong{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.mynote-pwa-notice-copy span{font-size:11px;line-height:1.5;color:#8490a2;overflow-wrap:anywhere}
.mynote-pwa-refresh{flex:0 0 auto;min-height:44px;border:1px solid #dfd6f3;background:#fff;color:#7c75a2;border-radius:14px;padding:8px 13px;font-size:13px;font-weight:800}
@media(max-width:380px){.mynote-pwa-notice{gap:8px;padding:12px 10px}.mynote-pwa-refresh{padding:8px 10px}}


/* v0.2.150 — BACKUP read-only integrity inspection. Scoped to BACKUP only. */
.backup-check-panel{margin-top:17px;min-width:0}
.backup-check-form{display:grid;gap:11px;margin:17px 0}
.backup-check-form .field-label{margin:0}
.backup-check-form input[type="file"]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:16px;padding:11px;border:1px solid #dedcea;border-radius:13px;background:#fff;color:#4a5368}
.backup-check-result{margin:15px 0;padding:15px;border-radius:16px;border:1px solid #c9dcd7;background:#eff8f5;color:#446657;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.backup-check-result>strong{display:block;font-size:15px}
.backup-check-result p{margin:7px 0 0}
.backup-check-result dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;margin:12px 0 0}
.backup-check-result dt{color:#60746d}
.backup-check-result dd{margin:0;text-align:right;color:#425d55;overflow-wrap:anywhere}
.backup-check-result.is-error{border-color:#e7cad3;background:#fcf2f4;color:#8b4d61}
.backup-check-warning{border-top:1px solid #d7e0df;padding-top:10px;color:#725769}

/* v1.0.96 HOME bottom AI doorway; sits after MEMO and above the fixed navigation. */
.home-ai-entry{display:flex;align-items:center;gap:13px;margin:18px 0 10px;min-height:82px;padding:14px 18px;border:1px solid #e9e3f1;border-radius:22px;background:linear-gradient(115deg,#fff,#f7f2fa 65%,#eff7fa);box-shadow:var(--shadow);text-decoration:none;color:#707189}
.home-ai-entry-icon{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(140deg,#f4ebf5,#e4e9f5)}
.home-ai-entry-svg{width:34px;height:34px}.home-ai-entry-text{display:grid;gap:5px;min-width:0;flex:1}.home-ai-entry-text strong{font-size:15px;letter-spacing:.08em}.home-ai-entry-text strong span{font-size:10px;color:#9b8baa}.home-ai-entry-text small{font-size:11px;line-height:1.5;color:#9a98aa}.home-ai-entry-arrow{font-size:30px;line-height:1;color:#b5a4be}.home-ai-entry:focus-visible{outline:3px solid #9fb8dd;outline-offset:3px}


/* MY NOTE v1.1.11 — Full-width GAME DATABASE shares tile styling with GAME LOG/GACHA. */
.game-hub-tiles > .game-menu-card--wide{grid-column:1 / -1}

/* MELUNOA brand – login and first-time setup only */
.brand-mark:has(img){background:#D9F2FD;box-shadow:0 4px 16px #8CCCEB55;}
.brand-mark img{width:36px;height:36px;object-fit:contain;border-radius:10px;}
