@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Zen+Old+Mincho:wght@600;700&display=swap";:root{color:#25292d;font-synthesis:none;text-rendering:optimizelegibility;--ink:#25292d;--muted:#56606e;--section-ink:#56606e;--panel:#e9e9e8;--card:#d9d9d8;--blue:#3488f4;background:#f7f6f2;font-family:Noto Sans JP,sans-serif}*{box-sizing:border-box}body{background:#fbfbfa;min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{color:inherit}.page-shell{width:min(100%,1240px);margin:0 auto;padding:42px 26px 36px}.hero{text-align:center;margin-bottom:28px}.hero h1{letter-spacing:.03em;justify-content:center;align-items:center;gap:18px;margin:0;font-size:clamp(1.45rem,2.2vw,1.75rem);font-weight:800;display:flex}.book-title{text-underline-offset:7px;text-decoration:underline;text-decoration-thickness:2px}.heading-divider{font-size:.92em}.hero p{color:#7b818b;margin:12px 0 0;font-size:1.06rem;font-weight:600}.hero p span{text-underline-offset:3px;text-decoration:underline}.dream-book{background:#e8e8e7eb;border:1px solid #ffffffd1;border-radius:22px;padding:20px 14px 14px;box-shadow:0 18px 50px #2d31350f}.book-intro{align-items:baseline;gap:18px;padding:0 7px 18px;display:flex}.book-intro h2{text-underline-offset:5px;margin:0;font-size:1.38rem;text-decoration:underline}.book-intro p{color:#737c89;margin:0;font-size:1.06rem;font-weight:600}.clock-card,.disclosure{background:#d6d6d5d1;border:1px solid #fffc;border-radius:17px;box-shadow:inset 0 1px #ffffff8c}.clock-card{padding:17px 22px 10px}.clock-heading{align-items:center;gap:14px;min-height:46px;display:flex}.clock-heading h3{white-space:nowrap;margin:0;font-size:1.38rem}.clock-heading p{color:#737c89;margin:0 0 0 18px;font-size:1.04rem;font-weight:600}.down-caret{color:#747d89}.heading-actions{gap:10px;margin-left:auto;display:flex}.clock-toggle{color:var(--section-ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-weight:700;display:flex}.dream-badge{color:#fff;background:linear-gradient(145deg,#1494dd,#0869ab);border:2px solid #fff;flex-direction:column;flex:none;justify-content:center;align-items:center;width:38px;height:43px;line-height:1;display:inline-flex;transform:perspective(30px)rotateY(-3deg);box-shadow:0 2px 5px #174e7438}.dream-badge small{font-size:.38rem;font-weight:800}.dream-badge strong{font-family:Zen Old Mincho,serif;font-size:1.25rem}.icon-button,.edit-button,.add-button{cursor:pointer;background:#e0e0dfb3;border:1px solid #fffc;border-radius:12px;min-height:42px;padding:0 15px;font-weight:700;box-shadow:inset 0 1px #ffffffb3}.icon-button{width:48px;padding:0;font-size:1.45rem}.icon-button:hover,.edit-button:hover,.add-button:hover{background:#f4f4f2}.countdown-list{padding-top:12px}.countdown-row{padding:10px 1px 14px}.countdown-label{color:#596371;justify-content:space-between;gap:16px;font-size:1.11rem;font-weight:700;display:flex}.countdown-label button,.wish-item button{cursor:pointer;color:#596371;background:0 0;border:0;font-size:1.45rem;line-height:1}.countdown-actions{flex:none;align-items:center;gap:9px;display:flex}.countdown-label .countdown-title{color:inherit;font-size:inherit;font-weight:inherit;text-align:left;padding:0}.countdown-label .countdown-title:hover{text-underline-offset:3px;text-decoration:underline}.remaining-time{letter-spacing:.01em;font-variant-numeric:tabular-nums;margin:5px 0 9px;font-size:clamp(1.2rem,2.7vw,1.55rem);font-weight:600;line-height:1.35}.progress-track{background:#ffffff9e;border-radius:8px;height:8px;overflow:hidden}.progress-track span{background:linear-gradient(90deg,#2d80ed,#3795ff);border-right:2px solid #ffffffb3;height:100%;transition:width .6s;display:block}.empty-countdown{color:var(--muted);padding:15px 1px 18px}.empty-countdown p{margin:0}.family-section{border-top:1px solid #ffffff59;align-items:center;min-height:50px;display:flex}.family-toggle{color:var(--section-ink);cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;font-size:1.11rem;font-weight:700;display:flex}.family-icon{font-size:1.25rem;line-height:1}.family-count{color:var(--muted);margin-left:5px;font-size:.86rem}.add-button{color:#707781;min-height:38px}.family-list{border-top:1px solid #ffffff80;padding-top:3px}.empty-message{color:var(--muted);margin:13px 0 10px;font-size:.95rem}.disclosure{margin-top:11px;overflow:hidden}.disclosure summary{cursor:pointer;min-height:73px;color:var(--section-ink);align-items:center;gap:18px;padding:12px 22px;font-size:1.3rem;font-weight:700;list-style:none;display:flex}.disclosure summary::-webkit-details-marker{display:none}.disclosure-content{border-top:1px solid #ffffff80;padding:4px 22px 22px}.wish-item{border-bottom:1px solid #ffffff8c;align-items:center;gap:14px;padding:12px 0;display:flex}.wish-item p{flex:1;margin:0}.wish-number{color:#6a7179;font-family:Zen Old Mincho,serif;font-size:.88rem}.text-action{color:#176dbb;cursor:pointer;background:0 0;border:0;margin-top:15px;padding:4px 0;font-weight:700}.pyramid{flex-direction:column;align-items:center;gap:5px;padding-top:10px;display:flex}.pyramid div{color:#fff;clip-path:polygon(10% 0,90% 0,100% 100%,0 100%);background:#497f9d;place-items:center;height:50px;font-weight:600;display:grid}.pyramid div:first-child{background:#276889;width:35%}.pyramid div:nth-child(2){width:63%}.pyramid div:nth-child(3){background:#7196aa;width:92%}.future-grid{grid-template-columns:repeat(4,1fr);gap:9px;padding-top:10px;display:grid}.future-grid div{background:#ffffff73;border-radius:10px;padding:14px}.future-grid strong{font-size:1.25rem;display:block}.future-grid span{color:var(--muted);font-size:.82rem}.edit-dialog{background:#f7f6f2;border:0;border-radius:20px;width:min(100% - 32px,510px);padding:32px;box-shadow:0 25px 90px #181f2647}.save-error{color:#9b2f25;text-align:center;max-width:720px;margin:16px auto 0;font-size:.9rem}.edit-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1e242973}.edit-dialog form{gap:17px;display:grid}.edit-dialog h2{margin:-8px 0 8px;font-family:Zen Old Mincho,serif;font-size:1.65rem}.eyebrow{color:#2674aa;letter-spacing:.16em;margin:0;font-size:.72rem;font-weight:800}.dialog-close{cursor:pointer;color:#697078;background:0 0;border:0;font-size:1.5rem;position:absolute;top:15px;right:17px}.edit-dialog label{color:#555c63;gap:7px;font-size:.86rem;font-weight:700;display:grid}.edit-dialog input,.edit-dialog textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d0d1cf;border-radius:9px;outline:none;padding:11px 12px}.edit-dialog input:focus,.edit-dialog textarea:focus{border-color:#3d88ba;box-shadow:0 0 0 3px #3d88ba21}.preset-fieldset{border:1px solid #d0d1cf;border-radius:10px;gap:9px;margin:0;padding:13px;display:grid}.preset-fieldset legend{color:#555c63;padding:0 5px;font-size:.86rem;font-weight:700}.preset-fieldset small{color:#737c89;line-height:1.55}.preset-buttons{flex-wrap:wrap;gap:8px;display:flex}.preset-buttons button{color:#276f98;cursor:pointer;background:#fff;border:1px solid #c8d6df;border-radius:8px;padding:8px 10px;font-size:.82rem;font-weight:700}.preset-buttons button:hover{background:#edf6fb}.primary-button{color:#fff;cursor:pointer;background:#276f98;border:0;border-radius:10px;margin-top:4px;padding:13px 18px;font-weight:700}.primary-button:hover{background:#1d5e84}@media (width<=720px){.page-shell{padding:24px 10px 26px}.hero h1{flex-wrap:wrap;gap:8px 12px}.hero p{font-size:.88rem}.dream-book{border-radius:17px;padding:15px 8px 9px}.book-intro{padding:0 8px 14px;display:block}.book-intro h2{margin-right:8px;font-size:1.15rem;display:inline}.book-intro p{font-size:.84rem;display:inline}.clock-card{padding:13px 12px 7px}.clock-heading{flex-wrap:wrap;gap:9px}.clock-heading h3{font-size:1.2rem}.clock-heading p{order:4;width:100%;margin:0;font-size:.84rem}.heading-actions{gap:5px}.icon-button,.edit-button{min-height:37px;padding:0 10px}.icon-button{width:42px;padding:0}.countdown-label{align-items:flex-start;font-size:.86rem}.remaining-time{overflow-wrap:anywhere;font-size:1rem}.progress-track{height:7px}.disclosure summary{gap:12px;min-height:66px;padding:10px 14px;font-size:1.08rem}.disclosure-content{padding:4px 14px 18px}.future-grid{grid-template-columns:1fr 1fr}.pyramid div:first-child{width:55%}.pyramid div:nth-child(2){width:76%}.pyramid div:nth-child(3){width:98%}.edit-dialog{padding:27px 20px 22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
