*{box-sizing:border-box} :root{--ink:#252523;--paper:#fffaf1;--peach:#ff966e;--lime:#e0f187} body{margin:0;background:#e6e3dc;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #626ee1;outline-offset:3px}[hidden]{display:none!important}.app{max-width:480px;min-height:100dvh;margin:auto;background:var(--paper);padding:22px 24px max(24px,env(safe-area-inset-bottom))}header{display:flex;justify-content:space-between;align-items:center;margin:6px 0 34px}.brand{color:var(--ink);text-decoration:none;font-size:27px;font-weight:900;letter-spacing:-2px}.brand span{display:block;font-size:8px;letter-spacing:1.1px;margin-top:5px}.round{border:1.5px solid var(--ink);border-radius:50%;width:40px;height:40px;background:none;font-size:19px}.date{font-size:11px;letter-spacing:2px;font-weight:800}h1{font-size:38px;line-height:1.18;letter-spacing:-2px;margin:12px 0 0;font-weight:900}.stage{position:relative;height:290px;margin-top:14px;background:radial-gradient(ellipse at 50% 70%,#ffe0c3 0,transparent 65%)}.mascot{position:absolute;width:270px;height:270px;object-fit:contain;left:calc(50% - 135px);top:30px;animation:bob 3s ease-in-out infinite}.stamp{position:absolute;left:0;top:80px;font-weight:800;font-size:12px;border:1.5px solid var(--ink);padding:10px;transform:rotate(-12deg);z-index:1}.bubble{position:absolute;right:-3px;top:5px;background:var(--lime);border:1.5px solid var(--ink);padding:13px 17px;border-radius:18px 18px 2px 18px;font-size:15px;font-weight:800;transform:rotate(5deg);z-index:2}.scribble{position:absolute;right:9px;bottom:12px;transform:rotate(-9deg);font-size:13px;font-weight:800}.primary{display:flex;align-items:center;justify-content:center;gap:13px;background:var(--ink);color:white;width:100%;border:0;border-radius:18px;padding:20px;font-size:16px;font-weight:800;min-height:58px}.primary>span:last-child{margin-left:auto}.camera-icon{width:23px;height:17px;border:2px solid white;border-radius:4px;position:relative}.camera-icon:after{content:'';position:absolute;border:2px solid white;border-radius:50%;width:6px;height:6px;top:2px;left:6px}.textbutton{display:block;border:0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:13px;padding:16px;margin:0 auto;min-height:44px}.daily{margin-top:30px;border-top:1.5px solid var(--ink);padding-top:18px}.section-head{display:flex;justify-content:space-between;align-items:center}h2{font-size:21px;letter-spacing:-.7px;margin:0}.section-head span{font-size:12px;color:#666}#summary{font-size:13px;margin:14px 0;line-height:1.7}.empty{border:1px dashed #b2ada3;padding:20px;border-radius:15px;text-align:center;color:#666;font-size:13px;line-height:1.6}.entry{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid #ddd6cb}.entry img{width:56px;height:56px;object-fit:cover;border-radius:12px}.entry strong{display:block;font-size:15px}.entry small{color:#666;display:block;margin-top:5px}.prototype,footer{font-size:10px;color:#777;line-height:1.7;margin-top:26px}footer{text-align:center}.back{background:none;border:0;padding:0 0 20px;font-size:14px;min-height:44px}.notice{font-size:12px;line-height:1.65;color:#716d65;margin:18px 0}.mealphoto{width:100%;max-height:250px;object-fit:cover;border-radius:20px;margin-top:22px}label{display:block;font-weight:700;font-size:13px;margin:22px 0 14px}input,select{width:100%;border:1px solid #c4bdb1;background:white;border-radius:12px;padding:15px;margin-top:9px;color:var(--ink);min-height:48px}.twocol{display:grid;grid-template-columns:1.25fr 1fr;gap:12px}#estimate{font-size:15px;font-weight:700;margin:22px 0}dialog{border:1.5px solid var(--ink);border-radius:28px;padding:30px 24px;background:var(--paper);max-width:390px;width:calc(100% - 32px);text-align:center;max-height:90dvh;overflow:auto}dialog::backdrop{background:#25252388;backdrop-filter:blur(5px)}dialog img{width:190px;height:170px;object-fit:contain;animation:wobble .6s ease}dialog h2{font-size:35px;line-height:1.13;margin:13px 0}dialog p{font-size:14px;line-height:1.7}.eyebrow{display:block;font-size:10px;letter-spacing:2px;font-weight:800}.dismiss{position:absolute;right:12px;top:12px}.resulttotal{font-weight:900;font-size:34px;background:var(--peach);border-radius:15px;padding:22px;margin-top:24px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;border-radius:12px;max-width:90%;display:none;font-size:13px;z-index:5}@keyframes bob{50%{transform:translateY(-7px) rotate(-2deg)}}@keyframes wobble{25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}@media(max-width:360px){.app{padding:20px}h1{font-size:33px}.stage{height:275px}.bubble{font-size:13px}.mascot{width:250px;left:calc(50% - 125px)}}

.table-preview{margin-top:28px;padding:20px 17px;background:#f2e9dc;border-radius:22px}.table-preview h2{font-size:18px}.table-preview .section-head span{font-size:9px}.table-preview p{font-size:12px;line-height:1.6}.seats{display:grid;grid-template-columns:1fr 1fr;gap:9px}.seats>div{border:1px dashed #beb09f;border-radius:16px;padding:18px 9px;text-align:center;min-height:85px;background:#fffaf1}.seats b{display:block;font-size:13px}.seats span{display:block;font-size:10px;color:#776e63;margin-top:9px}

.invite-seat{border:1.5px dashed #958c7f;border-radius:16px;background:#e0f187;color:var(--ink);padding:18px 8px;min-height:85px}.invite-seat b{font-size:13px}.invite-seat span{display:block;margin-top:9px;font-size:10px}.group-hint{text-align:center;color:#716d65;font-size:10px!important}.example-tags{display:flex;justify-content:center;gap:7px;margin:20px 0}.example-tags span{background:#eee5d8;border-radius:20px;padding:8px;font-size:10px}#group-title{white-space:pre-line}

.table-heading{display:flex;align-items:center;justify-content:space-between;margin-top:-8px}.table-heading h1{font-size:36px;line-height:1.15}.mini-bok{width:130px;position:relative;height:155px}.mini-bok .mascot{width:135px;height:145px;left:0;top:0}.mini-bok span{position:absolute;bottom:0;left:19px;font-size:10px;font-weight:800;transform:rotate(-7deg);background:var(--lime);padding:5px 9px;border-radius:8px}.room-caption{display:flex;justify-content:space-between;align-items:center;margin:22px 0 12px}.room-caption b{font-size:13px}.room-caption button{background:none;border:0;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:9px}.table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.table-tile{position:relative;overflow:hidden;aspect-ratio:4/5;border:0;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;color:var(--ink);background:#eddcc9;min-width:0}.seat-1{background:#e3e8d2}.seat-2{background:#eadfe8}.seat-3{background:#eadfca}.tile-name{position:absolute;left:13px;top:13px;font-size:10px;font-weight:800;background:#fffaf1c9;padding:6px 9px;border-radius:20px;z-index:1}.tile-symbol{font-size:36px;font-weight:300;line-height:1;margin-top:15px}.tile-hint{font-size:13px;font-weight:800;margin-top:10px}.tile-state{font-size:9px;margin-top:7px;color:#6d655e}.has-photo{padding:0;background:#252523}.has-photo img{width:100%;height:100%;object-fit:cover}.has-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0009)}.tile-food{position:absolute;bottom:34px;left:13px;right:13px;color:white;font-size:16px;font-weight:800;z-index:1;text-align:left;overflow-wrap:anywhere}.tile-status{position:absolute;bottom:14px;left:13px;color:#fff;font-size:9px;z-index:1}.companion-line{display:flex;align-items:center;gap:10px;margin:13px 0}.companion-line img{width:38px;height:45px;object-fit:contain}.companion-line p{margin:0;background:var(--lime);padding:11px 13px;border-radius:14px 14px 14px 2px;font-size:12px;font-weight:700}.entry{background:none;border-top:0;border-left:0;border-right:0;width:100%;text-align:left;color:var(--ink)}#mealview{max-width:440px}#viewphoto{width:100%;height:auto;max-height:50dvh;object-fit:contain;border-radius:17px}#viewmeta{font-size:13px}#pawstatus{font-size:12px;line-height:1.6;margin-top:16px}.paw-bounce{animation:wobble .5s ease}

.mini-bok{width:170px;height:160px}.mini-bok .mascot{width:110px;height:140px;left:-5px;top:0}.cat-mascot{position:absolute;width:105px;height:145px;object-fit:contain;right:-9px;top:4px;transform:rotate(6deg)}.mini-bok span{left:15px;bottom:0;font-size:9px}.table-heading h1{font-size:33px}.companion-line{gap:5px}.companion-line>div{flex:1}.companion-line p{font-size:11px;padding:9px}.companion-line .cat-line{margin-top:5px;background:#e3e8d2;border-radius:14px 14px 2px 14px}.primary:disabled{opacity:.55;cursor:wait}#analysisitems{font-size:13px;line-height:1.8;padding:0 4px}

.header-actions{display:flex;gap:8px}.history-heading{display:flex;align-items:center;justify-content:space-between}.history-heading img{width:120px;height:160px;object-fit:contain}.history-heading .eyebrow{letter-spacing:0}.history-heading h1{font-size:32px}.range-controls{display:flex;gap:8px;margin:20px 0}.range-controls button{border:1px solid #c4bdb1;border-radius:18px;background:transparent;padding:10px 22px;min-height:44px}.range-controls button[aria-pressed=true]{background:var(--ink);color:white}.history-summary{background:#e3e8d2;border-radius:18px;padding:18px;font-size:13px;line-height:1.9;white-space:pre-line;margin-bottom:25px}.trend{display:flex;gap:7px;overflow-x:auto;padding:10px 2px 14px;border-bottom:1px solid #ddd6cb}.trend-day{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;flex:0 0 44px;height:150px;border:0;background:none;color:var(--ink);gap:8px;padding:0}.trend-day small{font-size:9px}.trend-bar{display:block;width:24px;background:#ff966e;border-radius:6px 6px 0 0}.partial .trend-bar{background:repeating-linear-gradient(45deg,#ffbd9f,#ffbd9f 4px,#ffdfc9 4px,#ffdfc9 8px)}.unknown .trend-bar{background:transparent;border:1px dashed #a79a87}.trend-key{font-size:10px;line-height:1.8;color:#716d65}

#historybutton{font-size:12px;font-weight:800;width:48px;border-radius:16px}

.backup-panel{border-top:1px solid #ddd6cb;margin-top:32px;padding-top:24px}

/* 밥복이·밥냥이의 완료 스티커: 운영체제 팝업 대신 앱의 따뜻한 보상 */
#result{background:#fffaf6;border:2px solid white;border-radius:32px;padding:28px;max-width:370px;box-sizing:border-box;text-align:center;color:#49322e}#result::backdrop{background:#3d30346e}.success-stickers{position:relative;height:215px;display:flex;justify-content:center;align-items:center}.success-stickers:before{content:'';position:absolute;width:185px;height:185px;background:#ffe9db;border-radius:50%}.success-stickers>img{position:relative;width:100%;max-height:210px;object-fit:contain}.success-photo{position:absolute;bottom:0;right:0;width:75px;padding:5px;background:white;border:1px solid #eed6cb;border-radius:7px;transform:rotate(8deg)}.success-photo img{width:100%;height:65px;object-fit:cover;border-radius:3px}.success-photo small{font-size:6px;color:#806158}.success-tag{display:inline-block;border-radius:20px;background:#ffe1da;color:#9a514d;padding:7px 12px;font-size:11px;font-weight:700;margin-top:16px}#result h2{font-size:26px;margin:18px 0 10px}#resultline{font-size:14px;line-height:1.7;color:#80695f}#result .primary{background:#f2a99b;color:#492b27}#result .resulttotal{font-size:14px;background:#f8eee4;padding:12px;border-radius:14px}#result[open]{animation:sticker-arrive .28s ease-out}@keyframes sticker-arrive{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){#result[open]{animation:none}}
