/* 玉米统一界面规范：奶油纸、青蓝与薄荷、同一字体和组件。 */
:root{--paper:#fbf7ec;--card:#fffdf4;--ink:#43574e;--muted:#969981;--line:#dfd8c4;--mint:#e2eddf;--cyan:#e0edef;--peach:#f4e4db;--butter:#f4ecd6;--accent:#7f9e8a;--accent-dark:#648472;--radius:24px;--shadow:0 3px 0 #d5ccb52b;--font:-apple-system,BlinkMacSystemFont,'PingFang SC','Hiragino Sans GB',sans-serif}
html{background:#ece9da}body{font-family:var(--font);font-size:14px;color:var(--ink);line-height:1.6}button,input,textarea,select,h1,h2,h3{font-family:var(--font)}button,input,textarea,select{line-height:1.5}h1,h2,h3{color:var(--ink);font-weight:650;letter-spacing:0}h1{font-size:30px}h2{font-size:23px;line-height:1.4}h3{font-size:16px;line-height:1.5}.brand h2{font-size:26px;color:var(--ink)}.shell,.welcome,.loading{background-color:var(--paper)}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.8px;color:var(--muted)}small,.muted,.form-hint,.footer-note,.copyright{color:var(--muted);font-weight:400}.muted,.form-hint{font-size:12px;line-height:1.8}.footer-note{font-size:11px;line-height:1.8}.top .brand p{font-size:10px;color:var(--muted)}.section-head{gap:12px}.card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.house-card{padding:0}.house-heading,.room-toolbar{background:#fcf7e7;border-color:var(--line)}.house-heading h2{font-size:22px;color:var(--ink)}.house-heading .eyebrow{color:var(--muted)}.room-toolbar>span,.room-toolbar>span b{color:var(--muted)}.room-toolbar button{background:var(--butter);color:var(--ink);border:1px solid #d9ceb4;box-shadow:0 2px 0 #c5b79522;border-radius:12px;font-size:11px}.room-toolbar .hair-options .hair-active{background:var(--mint);color:var(--accent-dark);border-color:#b4cbb4}.hair-options>span,.hair-options small{color:var(--muted)}.day-pill,.tag,.badge{background:var(--mint);color:var(--accent-dark);border-color:#c4d3bd;font-size:11px;font-weight:500}.weather{background:var(--butter);border-color:var(--line)}.weather h3,.weather strong{color:#877b58}.weather strong{font-size:42px;line-height:1.25}.mood-mini{background:var(--mint);border-color:#cfdaca}.face{background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:0 2px 0 #cac2a922}.tile{border:1.5px solid var(--line);border-radius:21px;box-shadow:var(--shadow);background:var(--butter)}.tile:nth-child(2){background:var(--cyan);border-color:#ccdadd}.tile:nth-child(3){background:var(--peach);border-color:#e3d3ca}.tile strong{font-size:14px;color:var(--ink);font-weight:600}.tile small{color:var(--muted)}.blind-door{background:var(--peach);border:1.5px solid #e3d3ca;box-shadow:var(--shadow);border-radius:21px}.blind-door strong{color:var(--ink);font-size:16px;font-weight:600}.blind-door small,.blind-door>b{color:var(--muted)}.blind-hero{background:var(--butter)}.blind-hero h2{font-size:26px;color:var(--ink);font-weight:650}.blind-hero p{color:var(--muted);font-size:12px}.blind-package{font-size:48px}.wish-details dt{color:var(--muted);font-size:11px}.wish-details dd{font-size:14px;color:var(--ink)}.need-badge{background:var(--butter);color:#968365;border-radius:12px}.need-yes{background:var(--mint);color:var(--accent-dark)}.need-no{background:var(--cyan);color:#748b97}.blind-reminder{background:var(--peach);color:#9c7e6c}.count{background:var(--card);border:1.5px solid var(--line);border-radius:21px;box-shadow:var(--shadow);color:var(--ink)}.count h3{font-size:15px;color:var(--ink)}.count .num{font-family:var(--font);font-size:34px;font-weight:600;color:var(--accent-dark);line-height:1.35}.count .emoji{background:var(--butter)}.count small{color:var(--muted)}.note-card{background:var(--butter);transform:none}.empty{background:#f7f4e8;border:1px dashed #d6cdb5;border-radius:18px;color:var(--muted);font-size:12px;line-height:1.9}.row{background:#f7f3e5;border:1px solid #e4dcc8;border-radius:16px;color:var(--ink)}.row strong{font-size:14px;font-weight:600}.row p{color:var(--muted);font-size:12px;line-height:1.7}.row small{color:var(--muted)}.calendar-grid button{font-size:14px;color:#877e66;border-radius:12px}.calendar-grid .today{background:var(--butter)}.calendar-grid .picked{background:var(--mint);outline:2px solid #a6c2ad}.calendar-legend{color:var(--muted)}.calendar-item .text-btn{display:block;text-align:left;margin-top:2px}.color-sage{background:#93b79b}.color-blue{background:#88bac4}.color-peach{background:#dda992}.color-purple{background:#b9aac8}.color-gold{background:#cbb779}.color-navy{background:#73869c}.text-btn{color:var(--accent-dark);font-size:12px;font-weight:500}.delete{color:#a78a7b;font-size:11px;font-weight:400}.primary{background:var(--accent);border:1px solid var(--accent-dark);color:#fffef5;font-size:14px;font-weight:600;border-radius:15px;box-shadow:0 3px 0 #57756425}.secondary{background:var(--butter);border:1px solid #d9cdb3;color:#86775d;font-size:12px;font-weight:500;border-radius:13px;box-shadow:0 2px 0 #c5b79520}label{font-size:12px;font-weight:500;color:var(--ink)}input,select,textarea{font-size:16px;color:var(--ink);background:#f7f4e8;border:1px solid var(--line);border-radius:13px;font-weight:400}input::placeholder,textarea::placeholder{color:#b1ad97}.check input{accent-color:var(--accent)}dialog{color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 60px #44574732}dialog h2{font-size:23px;color:var(--ink)}.close{background:var(--butter);color:#9c8b6d}.form-error{color:#b17d6b}.nav{background:#f3ecd7;border:1.5px solid #d6ccb2;border-radius:23px;box-shadow:0 3px 0 #c5b79530,0 10px 25px #66726012;color:#a39777}.nav button{font-family:var(--font);font-weight:500;font-size:10px}.nav button.active{background:var(--mint);color:var(--accent-dark);box-shadow:inset 0 -2px 0 #a4bda125}.nav button b{font-size:21px}.notice{background:#f1eddc;color:#a3967a;border:1px solid var(--line);font-size:10px;border-radius:12px}.notice button{color:var(--accent-dark)}.avatar-btn{background:var(--butter);border:1.5px solid var(--line);color:#9c8b6d}.food{background:var(--card);border:1.5px solid var(--line);border-radius:17px;box-shadow:var(--shadow);color:var(--ink);font-size:12px}.food b{font-size:28px}.character-tabs button{background:var(--butter);border-color:var(--line);color:#948569}.character-tabs .chosen{background:var(--mint);border-color:#b4cbb4;color:var(--accent-dark)}.bar progress::-webkit-progress-value{background:#93b79b}.bar progress::-moz-progress-bar{background:#93b79b}.code{background:var(--mint);color:var(--ink);font-family:var(--font)}.welcome-form h2{font-size:27px;color:var(--ink)}.welcome-art h1{font-size:46px;color:var(--ink)}.tabs button{background:var(--butter);color:#99876b;font-size:13px}.tabs button.active{background:var(--mint);color:var(--accent-dark)}.preview-btn{font-size:12px;color:var(--accent-dark)}#toast{background:#7e9886;border:1px solid #a0b19d;color:#fffef5;font-size:12px;border-radius:14px}
@media(max-width:700px){.card{padding:19px}.house-card{padding:0}.house-heading h2{font-size:20px}.weather,.mood-mini{padding:16px}.weather strong{font-size:34px}.weather h3,.mood-mini h3{font-size:13px}.tile strong{font-size:12px}.tile small{font-size:10px}.count .num{font-size:30px}.blind-hero h2{font-size:24px}.blind-door strong{font-size:15px}.nav button{font-size:9px}.welcome-art h1{font-size:38px}dialog h2{font-size:21px}.gift-content strong{font-size:13px}}

/* 与小屋纸感统一的小狗头像 */
.brandmark{background:var(--paper);border:1.5px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}

.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.receipt-card{padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.receipt-card .empty{margin-top:14px}.receipt-card .actions{margin-top:14px}.receipt-photo{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:14px;margin-top:14px;background:var(--card)}@media(max-width:700px){.receipt-grid{grid-template-columns:1fr}.receipt-card .section-head{flex-wrap:wrap}}

/* 四个稳定入口：小屋、安排、盲盒、照顾；设置在右上角。 */
.home-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;padding-top:18px}.home-side{display:flex;flex-direction:column;gap:18px}.home-side .weather{min-height:150px}.home-side .weather strong{font-size:34px}.home-side .home-today{flex:1}.home-room-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:13px 17px;background:var(--paper)}.home-room-footer>span{font-size:11px;color:var(--muted)}.today-line{display:flex;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.today-line:last-child{border-bottom:0;padding-bottom:0}.today-line strong{font-size:14px}.mini-icon{display:grid;place-items:center;background:var(--mint);border-radius:12px;width:36px;height:36px;color:var(--accent-dark);flex-shrink:0}.home-feeling>p{font-size:13px;margin-top:12px}.home-doors{grid-column:1/-1}.home-door-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:14px}.home-door{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;border:1.5px solid var(--line);border-radius:21px;padding:20px;background:var(--cyan);box-shadow:var(--shadow)}.door-blindbox{background:var(--butter)}.door-care{background:var(--peach)}.home-door strong{font-size:15px}.home-door small{font-size:11px;color:#858b78}.door-icon svg{width:25px;height:25px}.door-arrow{position:absolute;right:20px;top:23px;color:var(--accent-dark)}.nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:440px;max-width:calc(100% - 28px);padding:8px;gap:4px;background:#fffdf4f5;backdrop-filter:blur(12px)}.nav button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 5px;min-width:0;border-radius:15px;font-size:11px;white-space:nowrap;color:#929784}.nav button span{display:block;line-height:0}.nav svg{width:23px;height:23px}.nav button.active{background:var(--mint);color:var(--accent-dark);font-weight:600}.nav button.active:after{content:'';width:4px;height:4px;border-radius:50%;background:currentColor}.nav button:not(.active):after{content:'';height:4px}.shell{padding-bottom:120px}@media(max-width:700px){.home-layout{grid-template-columns:1fr;gap:20px;padding-top:16px}.home-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-side .weather{grid-column:1/-1;min-height:125px;padding:17px}.home-side .home-today,.home-side .home-feeling{padding:16px;min-width:0}.home-side .section-head{flex-wrap:wrap;gap:6px}.home-side h3{font-size:14px}.today-line{gap:8px}.today-line strong{font-size:12px}.mini-icon{width:26px;height:30px}.home-feeling p{overflow-wrap:anywhere}.home-door-grid{grid-template-columns:1fr;gap:10px}.home-door{display:grid;grid-template-columns:32px 1fr 20px;gap:1px 10px;padding:16px}.door-icon{grid-row:1/3;align-self:center}.home-door strong{font-size:14px}.home-door small{grid-column:2;font-size:11px}.door-arrow{position:static;grid-column:3;grid-row:1/3;align-self:center}.nav{gap:2px;padding:7px;width:calc(100% - 28px)}.nav button{font-size:10px;padding:8px 2px}.home-room-footer{padding:12px}.home-room-footer>span{font-size:10px}}
.home-layout{padding-left:36px;padding-right:36px}@media(max-width:700px){.home-layout{padding-left:20px;padding-right:20px}.home-side{grid-template-columns:1fr}.home-side .weather{grid-column:auto}.home-side .home-today,.home-side .home-feeling{padding:18px}.home-side .section-head{flex-wrap:nowrap}}

.calendar-delete{display:inline-block;margin-top:9px;padding:6px 10px;border:1px solid #dcc9bd;border-radius:10px;background:#f5e9e1;color:#a07765;font-size:12px}

.home-mood-record{padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}.home-mood-record p{white-space:pre-wrap;overflow-wrap:anywhere}.home-mood-record p:first-child{display:flex;justify-content:space-between;gap:12px;font-size:13px}.home-mood-record .muted{margin-top:8px}.home-mood-record span{color:var(--accent-dark);white-space:nowrap}
