:root{--green:#3a6b5a;--dark:#254e3f;--ink:#263d32;--muted:#68766b;--cream:#f6f7f1;--gold:#9a7d46;--line:#dce2d7;--serif:"Hiragino Mincho ProN","Yu Mincho",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.85 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}::selection{background:#d8e6d6}svg{display:block;flex-shrink:0}[hidden]{display:none!important}.wrap{max-width:1210px;margin:auto;padding:0 38px}.skip{position:fixed;top:-80px;left:16px;z-index:10;background:white;padding:12px}.skip:focus{top:12px}
.topbar{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;gap:12px}.brand-mark{width:36px;height:36px;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;font:22px/1 var(--serif)}.brand-name{font-weight:700;font-size:16px;letter-spacing:.12em;line-height:1.5}.brand-sub{display:block;font-size:8px;letter-spacing:.18em;color:var(--muted);font-weight:400}.header-label{font-size:10px;letter-spacing:.08em;color:var(--muted)}
.welcome{text-align:center;padding-top:39px;padding-bottom:32px}.eyebrow{display:inline-block;margin:0 0 13px;border:1px solid #b8c8b5;border-radius:3px;font-size:11px;letter-spacing:.15em;padding:3px 17px;color:var(--green)}.welcome h1{margin:0 0 19px;font:500 38px/1.5 var(--serif);letter-spacing:.075em}.welcome h1 span{color:var(--green);margin-left:10px}.welcome-lead{font-size:14px;margin:0 0 5px}.welcome-copy{font-size:12px;line-height:2;color:var(--muted);margin:0}.welcome-rule{display:flex;align-items:center;gap:19px;max-width:375px;margin:28px auto 0;color:var(--gold);font-size:9px;letter-spacing:.18em}.welcome-rule:before,.welcome-rule:after{content:"";flex:1;height:1px;background:#d6d9c9}.welcome-rule span{white-space:nowrap}
.gifts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}.gift{min-width:0;background:#fff;border:1px solid #dee4d8;border-radius:5px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 7px 28px #253e2905}.gift-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 22px;border-bottom:1px solid #e6e9e0}.gift-label{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.06em}.gift-label strong{font:400 23px/1 Georgia,serif;color:var(--gold)}.gift-category{font-size:9px;color:var(--muted);letter-spacing:.02em}.gift-content{display:flex;flex-direction:column;gap:24px;padding:22px;flex:1;min-width:0}.art{width:100%;aspect-ratio:4/3;position:relative;background:#edf1e7;padding:14px;display:flex;align-items:stretch;overflow:hidden;border-radius:3px}.gift:nth-child(2) .art{background:#f0eee3}.gift:nth-child(3) .art{background:#eaf0eb}.placeholder{border:1px dashed #b7c5ad;width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;padding:15px;color:#71846d}.placeholder svg{width:34px;height:34px;stroke-width:1}.placeholder strong{font-size:12px;letter-spacing:.045em;font-weight:500}.placeholder small{font-size:8px;letter-spacing:.14em;color:#7a8873}.gift-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#f6f6f0}.details{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}.detail-tag{font-size:10px;letter-spacing:.025em;color:var(--gold);margin:0 0 10px}.details h2{font:500 23px/1.6 var(--serif);letter-spacing:.02em;margin:0 0 15px;min-height:74px}.description{font-size:12px;line-height:2;color:var(--muted);margin:0 0 20px}.topics{display:flex;gap:6px;flex-wrap:wrap;margin:auto 0 17px;padding:0;list-style:none}.topics li{font-size:9px;line-height:1.5;padding:4px 7px;background:#eff3ea;color:#526e56;border-radius:2px}.card-note{font-size:10px;color:#7a867a;margin:auto 0 17px}.receive{display:flex;align-items:center;justify-content:center;gap:10px;min-height:51px;width:100%;padding:12px 8px;border:1px solid var(--green);border-radius:3px;background:var(--green);color:#fff;text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.015em;transition:background .18s,transform .18s}.receive:hover{background:var(--dark);transform:translateY(-1px)}.receive svg{width:15px;height:15px}
.closing{max-width:660px;margin:34px auto 38px;padding:23px 26px;border-left:2px solid #c3b58e;background:#edf0e6;display:flex;gap:19px;align-items:center}.closing svg{width:25px;height:25px;stroke:#789173}.closing h2{font-size:13px;font-weight:600;margin:0 0 5px;letter-spacing:.025em}.closing p{font-size:11px;color:var(--muted);margin:0;line-height:1.9}footer{border-top:1px solid var(--line)}.footer-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font:14px var(--serif);letter-spacing:.08em}.footer-note{font-size:8px;letter-spacing:.14em;color:#82907d;margin-top:5px}.back-top{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:9px;text-decoration:none}.back-top svg{width:13px;height:13px}
dialog{border:0;border-radius:5px;padding:32px;max-width:430px;width:calc(100% - 40px);color:var(--ink);font-family:var(--sans);box-shadow:0 20px 80px #102a2933}dialog::backdrop{background:#172e2866;backdrop-filter:blur(3px)}.section-kicker{font-size:10px;letter-spacing:.12em;color:var(--gold);margin:0 0 14px}dialog h2{font:500 23px var(--serif);margin:0 0 14px}dialog p{font-size:13px;color:var(--muted);line-height:1.9;margin:0 0 22px}dialog button{width:100%;border:0;padding:12px;color:white;background:var(--green);border-radius:3px;font-size:13px}
.archive-main{max-width:970px}.breadcrumb{font-size:11px;color:var(--muted);margin:25px 0 24px}.breadcrumb a{text-underline-offset:4px}.archive-head{border-bottom:1px solid var(--line);padding-bottom:27px;margin-bottom:26px}.archive-head h1{font:500 33px/1.6 var(--serif);letter-spacing:.045em;margin:0 0 12px}.archive-head p:last-child{font-size:13px;color:var(--muted);line-height:2;margin:0}.archive-tools{padding:22px;background:#eaf0e4;border:1px solid #dce4d3;border-radius:5px;margin-bottom:25px}.search-label{display:block;font-size:11px;font-weight:600;margin-bottom:7px}.search-row{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #c9d4c3;border-radius:3px;padding:0 14px}.search-row svg{width:17px;height:17px;stroke:#7c8d77}.search-row input{min-width:0;flex:1;border:0;background:transparent;font-size:13px;padding:12px 0;color:var(--ink)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.filter{background:#fff;border:1px solid #c7d2bd;border-radius:99px;padding:6px 16px;font-size:11px;color:#53664d}.filter[aria-pressed="true"]{color:#fff;background:var(--green);border-color:var(--green)}.results-note{font-size:11px;color:var(--muted);margin:0 0 14px}.archive-list{display:grid;gap:14px;margin-bottom:32px}.archive-item{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:#fff;border:1px solid #dde3d6;border-radius:4px;padding:26px}.archive-item h2{font:500 22px/1.6 var(--serif);margin:6px 0 8px}.archive-item p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.category-badge{display:inline-block;color:var(--green);font-size:10px;letter-spacing:.03em}.archive-actions{display:flex;flex-direction:column;gap:10px;min-width:152px;text-align:center}.archive-actions .receive{font-size:11px}.video-link{font-size:10px;color:var(--muted);text-underline-offset:3px}.pending-label{font-size:10px;color:#8c7851;background:#f7f3e7;border:1px solid #e6deca;border-radius:3px;padding:9px 16px}.archive-empty{text-align:center;border:1px dashed #c5cebc;border-radius:4px;padding:35px 18px;margin:0 0 32px}.archive-empty h2{font-size:16px;margin:0 0 8px}.archive-empty p{font-size:12px;color:var(--muted);margin:0}.archive-return{display:block;text-align:center;font-size:12px;text-underline-offset:5px;margin:30px 0 43px}
@media(min-width:701px) and (max-width:1000px){.wrap{padding:0 25px}.gifts{gap:14px}.gift-top{padding:14px 15px;flex-wrap:wrap;gap:5px}.gift-category{font-size:8px}.gift-content{padding:15px;gap:18px}.details h2{font-size:20px;min-height:65px}.description{font-size:11px}.receive{font-size:10px;gap:6px}.placeholder{padding:8px}.placeholder strong{font-size:10px}.placeholder small{font-size:7px}.card-note{font-size:9px}.topics li{font-size:8px}}
@media(max-width:700px){.wrap{padding:0 21px}.topbar{min-height:72px;gap:10px}.brand{gap:10px}.brand-mark{width:31px;height:31px;font-size:20px}.brand-name{font-size:14px}.brand-sub{font-size:7px}.header-label{font-size:8px;letter-spacing:.02em}.welcome{padding-top:30px;padding-bottom:29px}.eyebrow{font-size:10px;margin-bottom:12px}.welcome h1{font-size:28px;letter-spacing:.04em;margin-bottom:17px}.welcome h1 span{margin-left:5px}.welcome-lead{font-size:12px}.welcome-copy{font-size:11px;line-height:2}.welcome-copy br{display:none}.welcome-rule{margin-top:24px;font-size:8px;gap:13px}.gifts{grid-template-columns:minmax(0,1fr);gap:24px;max-width:470px;margin:auto}.gift-top{padding:14px 22px}.gift-category{font-size:9px}.gift-content{padding:22px;gap:24px}.details h2{font-size:26px;min-height:0;margin-bottom:15px}.details h2 br{display:none}.description{font-size:13px}.detail-tag{font-size:11px}.art{aspect-ratio:4/3}.receive{font-size:12px;min-height:53px}.card-note{font-size:10px;margin-bottom:18px}.topics{margin-top:0}.topics li{font-size:10px}.closing{margin:28px auto 32px;padding:20px;gap:13px;max-width:470px;align-items:flex-start}.closing svg{width:21px;height:21px;margin-top:4px}.closing h2{font-size:12px}.closing p{font-size:10px}.footer-brand{font-size:13px}.footer-note{font-size:7px}.back-top{font-size:9px}.archive-head h1{font-size:28px}.archive-head p:last-child{font-size:12px}.archive-tools{padding:17px}.filter{font-size:10px;padding:6px 12px}.archive-item{grid-template-columns:1fr;gap:17px;padding:22px}.archive-item h2{font-size:23px}.archive-actions{align-items:flex-start;min-width:0}.archive-actions .receive{width:100%;font-size:12px}.archive-empty h2{font-size:14px}.archive-return{font-size:11px}.search-row input{font-size:16px}.breadcrumb{margin:23px 0;font-size:10px}}
@media(max-width:360px){.wrap{padding-left:15px;padding-right:15px}.welcome h1{font-size:25px}.gift-content{padding:18px}.gift-top{padding:14px 18px}.details h2{font-size:24px}.header-label{font-size:7px}}
.art[href]{padding:0;text-decoration:none;transition:box-shadow .18s}.art[href]:hover{box-shadow:0 0 0 2px var(--green)}.gift-secondary{align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin-top:4px;font-size:11px;color:var(--green);text-underline-offset:4px}.gift-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){#start-title{font-size:clamp(20px,6vw,24px)}#start-title br{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
