:root{--color-bg: #fff8ed;--color-bg-soft: #fbf1e3;--color-surface: #fffdf8;--color-surface-warm: #fff7eb;--color-text: #5a3a2d;--color-text-soft: #7a6253;--color-muted: #b9aa99;--color-line: #eadfce;--color-mustard: #e4aa3a;--color-mustard-dark: #cd9127;--color-coral: #ee9a8b;--color-sage: #9cad78;--color-greige: #c9bfb1;--shadow-card: 0 16px 36px rgba(93, 63, 42, .11);--shadow-soft: 0 10px 24px rgba(93, 63, 42, .09);--radius-xl: 34px;--radius-lg: 26px;--radius-md: 20px;--radius-sm: 14px;color:var(--color-text);background:var(--color-bg);font-family:Hiragino Maru Gothic ProN,Yu Gothic,"M PLUS Rounded 1c",system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(228,170,58,.34);outline-offset:2px}h1,h2,h3,p{margin:0}.app-shell{min-height:100vh;background:radial-gradient(circle at 18% 12%,rgba(238,154,139,.16),transparent 25%),radial-gradient(circle at 84% 18%,rgba(156,173,120,.15),transparent 24%),linear-gradient(180deg,#fffbf4,#f8efe2);padding:14px 10px}.phone-frame{position:relative;width:min(100%,430px);min-height:calc(100vh - 28px);margin:0 auto;overflow:hidden;border:1px solid rgba(150,121,91,.16);border-radius:30px;background:#fffdf8eb;box-shadow:var(--shadow-card);padding:22px 18px 98px}.app-header{display:grid;grid-template-columns:54px 1fr 76px;align-items:start;gap:8px;min-height:64px;margin-bottom:20px}.header-title{text-align:center}.header-title h1{color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:1.7rem;font-weight:500;letter-spacing:.08em;line-height:1.2}.header-title p{margin-top:4px;color:var(--color-text-soft);font-size:.78rem;letter-spacing:.16em}.header-side{display:flex;justify-content:flex-start}.header-side.right{justify-content:flex-end}.header-actions{display:flex;gap:8px}.icon-button,.profile-button,.date-button,.section-heading button,.chip,.bottom-tab-bar button{border:0;color:var(--color-text);background:transparent}.icon-button{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--color-line);border-radius:999px;background:#fffdf8cc}.profile-button{display:grid;width:58px;min-height:58px;place-items:center;border:1px solid var(--color-line);border-radius:999px;background:#fffdf8d1;color:var(--color-text-soft);font-size:.62rem}.date-button{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:var(--color-text-soft);font-size:.74rem}.date-button input{width:118px;border:0;color:var(--color-text-soft);background:transparent;font:inherit}.home-hero{position:relative;display:grid;justify-items:center;gap:24px;min-height:410px;padding-top:20px;text-align:center}.book-mark{position:absolute;top:-8px;left:10px;color:var(--color-text-soft);transform:rotate(8deg)}.home-hero p{color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:1rem;letter-spacing:.16em;line-height:2.1}.hero-leaf{position:absolute;top:138px;right:58px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:min(100%,320px);min-height:76px;border:0;border-radius:30px;background:var(--color-mustard);color:#fffdf8;box-shadow:0 10px 18px #bf82232e;font-size:1.05rem;font-weight:700;letter-spacing:.08em}.primary-button:disabled{cursor:not-allowed;opacity:.52}.save-message,.photo-message{color:var(--color-text-soft);font-size:.78rem;font-weight:700;line-height:1.6;text-align:center}.save-message.saving{color:var(--color-mustard-dark)}.selected-photo-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.selected-photo-thumb{position:relative;aspect-ratio:1;overflow:hidden;border:1px solid var(--color-line);border-radius:14px;background:var(--color-surface-warm)}.selected-photo-thumb img{width:100%;height:100%;object-fit:cover}.home-hero .primary-button.primary{min-height:176px;width:230px;border-radius:70px;flex-direction:column;font-size:1.02rem}.home-hero .primary-button.primary svg{width:80px;height:80px;stroke-width:1.7}.primary-button.secondary{min-height:56px;background:#efe6dc;color:var(--color-text);box-shadow:none}.primary-button.outline{min-height:64px;background:#fffdf8c7;color:var(--color-text);border:1px solid var(--color-line);box-shadow:var(--shadow-soft)}.home-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}.home-shortcuts button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1px solid var(--color-line);border-radius:18px;color:var(--color-text);background:#fffdf8d1;box-shadow:var(--shadow-soft);font-size:.86rem;font-weight:700}.recent-section{margin-top:8px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 12px}.section-heading h2{color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:1.05rem;font-weight:500;letter-spacing:.08em}.section-heading button{color:var(--color-text-soft);font-size:.75rem}.recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.log-card{position:relative;display:grid;grid-template-columns:126px 1fr;gap:14px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:#fffdf8e6;box-shadow:var(--shadow-soft);padding:12px;color:inherit;text-align:left}.log-card.compact{display:block;padding:8px 8px 11px;border-radius:16px}button.log-card{width:100%;border-color:var(--color-line);font:inherit}.log-card.clickable{cursor:pointer}.log-card.clickable:hover{transform:translateY(-1px)}.photo-tile{position:relative;min-height:118px;overflow:visible;border-radius:16px}.photo-tile img,.detail-photo img,.large-photo img{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:inherit;object-fit:cover}.log-card.compact .photo-tile{min-height:118px;margin-bottom:9px}.photo-tile.coral{background:linear-gradient(145deg,#ffe0d5,#f2a18e)}.photo-tile.sage{background:linear-gradient(145deg,#eef2d8,#a8b984)}.photo-tile.mustard{background:linear-gradient(145deg,#ffe7ae,#dfaa3f)}.photo-tile.cream{background:linear-gradient(145deg,#fff4de,#e8d3b4)}.photo-tile:after{position:absolute;z-index:0;top:18px;right:18px;bottom:18px;left:18px;border-radius:999px;background:#fffdf857;content:""}.masking-tape{position:absolute;z-index:2;top:-9px;left:22px;width:54px;height:17px;background:repeating-linear-gradient(-18deg,#e8c36ad9 0,#e8c36ad9 6px,#ffe8add9 6px,#ffe8add9 11px);transform:rotate(-7deg)}.log-card-body{min-width:0}.log-card h3{margin-top:8px;color:var(--color-text);font-size:.98rem;font-weight:700;line-height:1.45}.log-card.compact h3{min-height:2.8em;margin-top:0;font-size:.82rem}.log-card p{margin-top:8px;color:var(--color-text-soft);font-size:.82rem;line-height:1.75}.log-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;color:var(--color-text-soft);font-size:.72rem}.log-card-footer svg{color:var(--color-coral);stroke-width:1.8}.badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 12px;color:#fffdf8;font-size:.74rem;font-weight:700}.badge-coral{background:var(--color-coral)}.badge-sage{background:var(--color-sage)}.badge-mustard{background:var(--color-mustard)}.badge-cream{color:var(--color-text);background:#efe4d4}.badge-muted{color:#fffdf8;background:var(--color-greige)}.bottom-tab-bar{position:absolute;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);min-height:78px;border-top:1px solid rgba(234,223,206,.9);border-radius:28px 28px 0 0;background:#fffdf8f0;box-shadow:0 -8px 22px #5d3f2a14}.bottom-tab-bar button{display:grid;align-content:center;justify-items:center;gap:5px;color:var(--color-text-soft);font-size:.72rem}.bottom-tab-bar button.active{color:var(--color-mustard);font-weight:700}.decoration{color:var(--color-sage);font-size:2.2rem;line-height:1;opacity:.78}.decoration-flower{color:var(--color-coral)}.decoration-bird{color:var(--color-text-soft)}.decoration-spark{color:var(--color-mustard)}.placeholder-panel{display:grid;gap:14px;margin-top:80px;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:#fffdf8e0;box-shadow:var(--shadow-soft);padding:26px 20px;text-align:center}.placeholder-panel p{color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:1rem;line-height:1.9}.placeholder-panel span{color:var(--color-text-soft);font-size:.82rem;line-height:1.7}.profile-form{display:grid;gap:18px;padding-top:18px}.profile-card{display:grid;gap:16px;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:#fffdf8e6;box-shadow:var(--shadow-soft);padding:22px 18px}.profile-avatar{display:grid;width:84px;height:84px;place-items:center;margin:0 auto 4px;border:1px solid rgba(228,170,58,.34);border-radius:34px;background:#f7dca3;color:#fffdf8;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:2rem;box-shadow:var(--shadow-soft)}.profile-card label{display:grid;gap:8px;color:var(--color-text-soft);font-size:.8rem;font-weight:700}.profile-card input{width:100%;min-height:52px;border:1px solid var(--color-line);border-radius:18px;background:#fff8edd1;color:var(--color-text);padding:10px 13px}.timeline-screen{position:relative;display:grid;gap:16px;padding-bottom:16px}.timeline-screen:before{position:absolute;top:7px;bottom:22px;left:74px;border-left:2px dashed rgba(196,176,150,.7);content:""}.timeline-row{position:relative;display:grid;grid-template-columns:58px 18px 1fr;gap:10px;align-items:start}.timeline-date{display:grid;justify-items:end;color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;line-height:1.28}.timeline-date span{color:var(--color-text-soft);font-size:.76rem}.timeline-date strong{font-size:1.12rem;font-weight:500}.timeline-marker{z-index:1;width:12px;height:12px;margin-top:18px;border:3px solid var(--color-surface);border-radius:999px;background:var(--color-coral);box-shadow:0 0 0 2px #f1b3a7}.timeline-row:nth-child(2n) .timeline-marker{background:var(--color-sage);box-shadow:0 0 0 2px #bdc79c}.timeline-row:nth-child(3n) .timeline-marker{background:var(--color-mustard);box-shadow:0 0 0 2px #f0cf82}.timeline-row .log-card{grid-template-columns:112px 1fr;padding:10px;box-shadow:none}.timeline-row .photo-tile{min-height:112px}.timeline-row .log-card h3{font-size:.92rem}.timeline-row .log-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.zukan-intro{position:relative;margin:6px 0 22px;text-align:center}.zukan-intro p{color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:.92rem;letter-spacing:.08em;line-height:2}.zukan-leaf{position:absolute;right:24px;bottom:-2px;font-size:1.8rem}.zukan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.zukan-card{position:relative;display:grid;justify-items:center;min-height:170px;width:100%;border:1px solid var(--color-line);border-radius:18px;background:#fffdf8e6;box-shadow:var(--shadow-soft);padding:18px 8px 12px;color:inherit;text-align:center}.zukan-card.clickable{cursor:pointer}.zukan-card.clickable:hover{transform:translateY(-1px)}.zukan-card.locked{color:#9c8f80}.zukan-star{position:absolute;top:-9px;left:-7px;display:grid;width:32px;height:32px;place-items:center;border-radius:42% 58% 48% 52%;color:#fffdf8}.zukan-star.coral{background:var(--color-coral)}.zukan-star.sage{background:var(--color-sage)}.zukan-star.mustard{background:var(--color-mustard)}.zukan-star.greige{background:var(--color-greige)}.zukan-illustration{position:relative;width:78px;height:70px;margin:4px 0 12px}.zukan-illustration span,.zukan-illustration:before,.zukan-illustration:after{position:absolute;display:block;content:""}.zukan-illustration span{right:18px;bottom:6px;width:42px;height:46px;border-radius:46% 48% 42% 42%;background:#f7d8b9}.zukan-illustration:before{top:8px;left:23px;width:32px;height:32px;border-radius:999px;background:#f3c89f}.zukan-illustration:after{right:8px;bottom:10px;width:34px;height:18px;border-radius:999px;background:#9cad7847}.zukan-illustration.hand span{width:52px;height:22px;border-radius:999px;transform:rotate(-20deg)}.zukan-illustration.hand:before{left:12px;width:22px;height:44px;border-radius:999px;transform:rotate(24deg)}.zukan-illustration.cake span{width:54px;height:34px;border-radius:14px 14px 18px 18px;background:#f4d7b8}.zukan-illustration.cake:before{top:4px;left:26px;width:6px;height:28px;border-radius:999px;background:var(--color-mustard)}.zukan-card h3{color:var(--color-text);font-size:.78rem;line-height:1.45}.zukan-card p{margin-top:6px;color:var(--color-text-soft);font-size:.72rem}.zukan-uncategorized{display:grid;gap:10px;margin-top:22px}.uncategorized-list{display:grid;gap:8px}.uncategorized-list button{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:center;min-height:48px;border:1px dashed var(--color-line);border-radius:16px;background:#fffdf8d1;color:var(--color-text);padding:9px 12px;text-align:left}.uncategorized-list span{color:var(--color-text-soft);font-size:.72rem}.uncategorized-list strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.zukan-detail{display:grid;gap:16px}.zukan-detail-hero{position:relative;display:grid;justify-items:center;gap:10px;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:#fffdf8e0;box-shadow:var(--shadow-soft);padding:24px 18px 22px;text-align:center}.zukan-detail-hero.completed{background:#fff8edeb}.zukan-detail-hero .zukan-illustration{width:108px;height:92px;margin:0 0 6px}.zukan-detail-hero h1{color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:1.35rem;font-weight:500;letter-spacing:.08em}.zukan-detail-hero p{color:var(--color-text-soft);font-size:.82rem}.zukan-detail-decoration{position:absolute;right:20px;bottom:14px;font-size:1.7rem}.zukan-linked-log,.zukan-empty-log{border:1px solid var(--color-line);border-radius:var(--radius-md);background:#fffdf8e6;box-shadow:var(--shadow-soft);padding:14px}.zukan-linked-log{display:grid;grid-template-columns:120px 1fr;gap:14px}.zukan-linked-log .photo-tile{min-height:120px}.zukan-linked-log h2,.zukan-empty-log h2{margin-top:7px;color:var(--color-text);font-size:1rem;line-height:1.45}.zukan-linked-log p,.zukan-empty-log p{margin:7px 0 12px;color:var(--color-text-soft);font-size:.8rem;line-height:1.65}.zukan-linked-log .primary-button{min-height:46px;border-radius:16px;font-size:.8rem}.linked-date{display:inline-flex;align-items:center;gap:5px;color:var(--color-text-soft);font-size:.72rem;font-weight:700}.zukan-empty-log{display:grid;gap:8px;justify-items:center;padding:22px 18px;text-align:center}.detail-screen{display:grid;gap:16px}.detail-photo{position:relative;min-height:270px;border:10px solid rgba(255,253,248,.88);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.detail-photo.coral{background:linear-gradient(145deg,#ffe0d5,#f2a18e)}.detail-photo.sage{background:linear-gradient(145deg,#eef2d8,#a8b984)}.detail-photo.mustard{background:linear-gradient(145deg,#ffe7ae,#dfaa3f)}.detail-photo.cream{background:linear-gradient(145deg,#fff4de,#e8d3b4)}.detail-photo:after{position:absolute;z-index:0;top:48px;right:70px;bottom:48px;left:70px;border-radius:999px;background:#fffdf842;content:""}.photo-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.gallery-photo{position:relative;aspect-ratio:1;overflow:hidden;border:1px solid var(--color-line);border-radius:14px;background:var(--color-surface-warm)}.gallery-photo.failed{border-style:dashed;opacity:.74}.gallery-photo img{width:100%;height:100%;object-fit:cover}.gallery-photo button,.selected-photo-thumb button{position:absolute;top:5px;right:5px;display:grid;width:22px;height:22px;place-items:center;border:0;border-radius:999px;background:#fffdf8eb;color:var(--color-text);box-shadow:var(--shadow-soft)}.detail-flower{position:absolute;right:4px;bottom:8px}.detail-card,.ai-suggestion,.monthly-group,.selected-day{border:1px solid var(--color-line);border-radius:var(--radius-md);background:#fffdf8e0;box-shadow:var(--shadow-soft)}.detail-card{display:grid;gap:12px;padding:18px}.detail-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--color-text-soft);font-size:.78rem;font-weight:700}.detail-meta span{display:inline-flex;align-items:center;gap:5px}.detail-card h1{color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:1.28rem;font-weight:500;letter-spacing:.08em;line-height:1.45}.detail-card p{color:var(--color-text-soft);line-height:1.85}.detail-edit-form{display:grid;gap:12px}.detail-edit-form label{display:grid;gap:7px;color:var(--color-text-soft);font-size:.78rem;font-weight:700}.detail-edit-form input,.detail-edit-form select,.detail-edit-form textarea{width:100%;border:1px solid var(--color-line);border-radius:16px;background:#fff8edcc;color:var(--color-text);font:inherit;line-height:1.6;padding:11px 12px}.detail-edit-form textarea{resize:vertical}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-tags{display:flex;flex-wrap:wrap;gap:8px}.detail-tags span{border-radius:999px;background:#f2e7d8;color:var(--color-text-soft);padding:6px 10px;font-size:.74rem;font-weight:700}.ai-suggestion{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:14px;color:var(--color-text-soft)}.photo-status-panel{display:grid;grid-template-columns:28px 1fr;gap:10px;border:1px dashed rgba(228,170,58,.45);border-radius:var(--radius-md);background:#fff8edd6;box-shadow:var(--shadow-soft);padding:14px;color:var(--color-text-soft)}.photo-status-panel svg{color:var(--color-mustard)}.photo-status-panel h2{color:var(--color-text);font-size:.88rem}.photo-status-panel p{margin-top:4px;font-size:.8rem;line-height:1.65}.photo-status-panel button{min-height:38px;margin-top:10px;border:1px solid var(--color-line);border-radius:14px;background:#fffdf8e6;color:var(--color-text);font-size:.78rem;font-weight:700;padding:0 12px}.ai-suggestion svg{color:var(--color-mustard)}.ai-suggestion h2{color:var(--color-text);font-size:.88rem}.ai-suggestion p{margin-top:4px;font-size:.8rem;line-height:1.65}.ai-suggestion span{display:inline-flex;margin-top:8px;border-radius:999px;background:#f2e7d8;color:var(--color-text-soft);padding:4px 9px;font-size:.7rem;font-weight:700}.detail-actions{display:grid;gap:10px}.delete-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:0;border-radius:18px;background:#ee9a8b24;color:#a55f54;font-weight:700}.monthly-screen{display:grid;gap:16px;padding-bottom:16px}.monthly-group{padding:16px}.monthly-heading{display:flex;align-items:center;justify-content:space-between;color:var(--color-mustard)}.monthly-heading span{color:var(--color-text-soft);font-size:.78rem;font-weight:700}.monthly-heading h2{margin-top:2px;color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:1.35rem;font-weight:500}.monthly-summary{margin:10px 0 14px;color:var(--color-text-soft);font-size:.84rem;line-height:1.75}.monthly-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.monthly-list .log-card.compact .photo-tile{min-height:96px}.calendar-screen{display:grid;gap:16px}.calendar-title{text-align:center}.calendar-title span{color:var(--color-text-soft);font-size:.82rem;font-weight:700}.calendar-title h2{margin-top:3px;color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:1.45rem;font-weight:500}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-grid button{position:relative;display:grid;min-height:45px;place-items:center;border:1px solid var(--color-line);border-radius:14px;color:var(--color-text-soft);background:#fffdf8cc;font-weight:700}.calendar-grid button.has-entry{color:var(--color-text);background:#fff2d6}.calendar-grid button.selected{border-color:var(--color-mustard);box-shadow:inset 0 0 0 2px #e4aa3a57}.calendar-grid strong{position:absolute;right:4px;bottom:4px;display:grid;width:16px;height:16px;place-items:center;border-radius:999px;background:var(--color-coral);color:#fffdf8;font-size:.62rem}.selected-day{display:grid;gap:12px;padding:16px}.selected-day h3{color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:1rem;font-weight:500}.selected-day p{color:var(--color-text-soft);font-size:.86rem}.selected-day-list{display:grid;gap:10px}.new-log-screen{display:grid;gap:22px}.large-photo{position:relative;display:grid;place-items:center;min-height:300px;border:10px solid rgba(255,253,248,.85);border-radius:var(--radius-lg);background:linear-gradient(145deg,#ffe8d8,#eac7a8);box-shadow:var(--shadow-soft);color:#5a3a2d7a;cursor:pointer;overflow:visible}.large-photo:after{position:absolute;z-index:0;top:42px;right:54px;bottom:42px;left:54px;border-radius:999px;background:#fffdf847;content:""}.large-photo.has-image:after{display:none}.large-photo>svg{z-index:1}.large-photo input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.photo-flower{position:absolute;right:-6px;bottom:10px}.memo-field{display:grid;gap:12px}.memo-field span{display:inline-flex;align-items:center;gap:8px;color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:1rem;letter-spacing:.08em}.memo-field .decoration{font-size:1.3rem}.memo-field textarea{width:100%;min-height:116px;resize:vertical;border:1px solid var(--color-line);border-radius:var(--radius-md);background:#fffdf8e0;box-shadow:inset 0 2px 8px #5d3f2a0a;color:var(--color-text);line-height:1.7;padding:16px}.chip-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}.chip{flex:0 0 auto;min-height:38px;border-radius:999px;padding:0 18px;color:var(--color-text);font-size:.82rem;font-weight:700}.chip.tone-0{background:#f3d488}.chip.tone-1{background:#f3b6aa}.chip.tone-2{background:#c8d2a4}.chip.selected{box-shadow:inset 0 0 0 2px #5a3a2d47,0 5px 12px #5d3f2a14}.complete-screen{position:relative;display:grid;justify-items:center;gap:22px;min-height:calc(100vh - 126px);padding-top:44px;text-align:center}.garland{position:absolute;top:2px;left:34px;display:flex;gap:12px;transform:rotate(-8deg)}.garland span{width:0;height:0;border-right:9px solid transparent;border-left:9px solid transparent;border-top:24px solid #e8c36a}.garland span:nth-child(2n){border-top-color:#c8d2a4}.garland span:nth-child(3n){border-top-color:#f3b6aa}.complete-screen h1{color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:1.32rem;font-weight:500;letter-spacing:.12em}.complete-screen>p{color:var(--color-text-soft);line-height:1.9}.complete-card{position:relative;width:100%;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:#fffdf8e0;box-shadow:var(--shadow-card);padding:34px 12px 12px}.complete-card .log-card{box-shadow:none}.ribbon{position:absolute;top:-14px;left:50%;border-radius:6px;background:#e8bd62;color:var(--color-text);padding:8px 28px;transform:translate(-50%);white-space:nowrap;font-size:.82rem;letter-spacing:.08em}.complete-spark{position:absolute;font-size:1.4rem}.complete-spark.left{top:104px;left:44px}.complete-spark.right{top:140px;right:46px}.footer-copy{color:var(--color-text-soft);font-size:.78rem}.modal-backdrop{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#37302894;padding:24px}.first-time-modal{position:relative;display:grid;justify-items:center;width:100%;max-width:360px;border-radius:30px;background:var(--color-surface);box-shadow:0 24px 60px #2b221b47;padding:30px 24px 26px;text-align:center}.modal-party{color:var(--color-mustard);margin-bottom:12px}.first-time-modal h2{color:var(--color-text);font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:1.18rem;font-weight:500;letter-spacing:.1em;line-height:1.8}.modal-flower{position:absolute;right:42px;bottom:104px;font-size:1.55rem}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%;margin-top:28px}.modal-actions .primary-button{width:100%;min-height:58px;border-radius:22px;font-size:1rem}@media(max-width:374px){.phone-frame{padding-right:12px;padding-left:12px}.recent-grid{gap:7px}.log-card.compact .photo-tile{min-height:96px}.primary-button.primary{width:210px;min-height:160px}}@media(min-width:760px){.app-shell{padding:34px 18px}.phone-frame{min-height:900px}}
