.village-page [hidden]{display:none!important}.village-page main{max-width:1056px;margin:auto}.builder-intro{padding:14px 0 38px}.builder-intro .eyebrow{color:var(--orange);margin:0 0 17px}.builder-intro h1{letter-spacing:-.045em;margin:0 0 15px;font-size:clamp(28px,3.4vw,40px);line-height:1.5}.builder-intro>p:last-child{color:var(--muted);margin:0;font-size:14px;line-height:1.9}.mobile-only{display:none}.builder-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:32px;display:grid}.builder-fields{border:0;min-width:0;margin:0;padding:0}.builder-section{border:1px solid var(--line);background:#fffefa;border-radius:12px;margin-bottom:22px;padding:28px}.builder-section-title{align-items:flex-start;gap:13px;display:flex}.section-badge{border:1px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:29px;height:29px;margin-top:3px;font:11px Arial;display:grid}.builder-section-title h2{letter-spacing:-.03em;margin:0;font-size:19px;font-weight:700;line-height:1.6}.builder-section-title p{color:var(--muted);margin:6px 0 0;font-size:12px}.people-control{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:23px;padding:25px 0 0;display:flex}.control-label{font-size:13px;font-weight:700}.people-control small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.stepper{align-items:center;gap:18px;display:flex}.stepper button{background:var(--paper);border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;font:23px Arial;display:grid}.stepper button:hover:enabled{border-color:var(--ink);background:var(--lime)}.stepper button:disabled{opacity:.3;cursor:default}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:58px;font-size:30px;font-weight:700;line-height:1}.stepper output span{margin-left:6px;font-size:12px;font-weight:400}.delivery-note{background:#f0f2e8;border-radius:6px;gap:10px;margin:22px 0 25px;padding:13px 15px;display:flex}.delivery-note>span{font-size:22px;line-height:1.4}.delivery-note p{color:var(--muted);margin:0;font-size:11px;line-height:1.9}.delivery-note strong{color:var(--ink);font-weight:600}.message-card+.message-card{margin-top:24px}.message-label{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.message-label label{font-size:13px;font-weight:700}.message-label label span{letter-spacing:1px;color:var(--muted);margin-right:10px;font:10px Arial}.message-counter{color:var(--muted);font-variant-numeric:tabular-nums;font:11px Arial}.message-card textarea{resize:vertical;width:100%;min-height:102px;color:var(--ink);background:#fff;border:1px solid #d3d6cb;border-radius:6px;padding:13px 14px;font:16px/1.7 Hiragino Kaku Gothic ProN,Meiryo,sans-serif;transition:border-color .15s,box-shadow .15s;display:block}.message-card textarea::placeholder{color:#8a8e82;font-size:13px}.message-card textarea:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px #d94b2e12}.optional-note{color:var(--muted);margin:20px 0 0;font-size:11px;line-height:1.8}.builder-summary{background:#eaede2;border:1px solid #dce0d3;border-radius:12px;padding:26px;position:sticky;top:24px}.builder-summary>.eyebrow{color:var(--muted);margin:0 0 10px;font-size:10px}.builder-summary h2{margin:0 0 25px;font-size:20px;line-height:1.5}.builder-summary dl{margin:0}.builder-summary dl>div{border-bottom:1px solid #d4d8ca;justify-content:space-between;align-items:center;padding:13px 0;display:flex}.builder-summary dt{color:var(--muted);font-size:12px}.builder-summary dd{font-variant-numeric:tabular-nums;margin:0;font-size:13px}.builder-summary dd span:first-child{font-size:20px;font-weight:700}.summary-next{gap:12px;margin:23px 0;display:flex}.summary-next p{color:var(--muted);margin:0;font-size:12px;line-height:1.9}.summary-next strong{color:var(--ink);font-weight:600}.mini-mark{font-size:21px}.create-button{background:var(--orange);color:#fff;cursor:pointer;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:54px;padding:15px 18px;font:700 13px/1.6 Hiragino Kaku Gothic ProN,Meiryo,sans-serif;display:flex}.create-button:hover:enabled{background:#bc3c22}.create-button:disabled{opacity:.6;cursor:wait}.submit-note{text-align:center;color:var(--muted);margin:12px 0 0;font-size:10px}.builder-error{color:#9b2d19;background:#fff0ed;border:1px solid #e9b1a4;border-radius:6px;margin-bottom:16px;padding:12px;font-size:12px;line-height:1.8}.builder-help{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:714px;margin:12px 0 50px}.builder-help summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:20px 0;font-size:13px;font-weight:700;list-style:none;display:flex}.builder-help summary::-webkit-details-marker{display:none}.builder-help summary>span{font-size:20px;transition:transform .2s}.builder-help[open] summary>span{transform:rotate(45deg)}.builder-help>div{color:var(--muted);padding:0 0 24px;font-size:13px}.builder-help p{margin:0 0 15px}.village-result{text-align:center;border:1px solid var(--line);background:#fffefa;border-radius:12px;max-width:580px;margin:0 auto 48px;padding:35px}.result-check{background:var(--lime);border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 15px;font-size:24px;display:grid}.village-result .eyebrow{color:var(--muted);font-size:10px}.village-result h2{margin:12px 0;font-size:28px}.village-result>p{color:var(--muted);font-size:13px}.village-number{background:var(--paper);border:1px dashed #b9bfac;border-radius:8px;margin:25px 0 18px;padding:17px}.village-number>span{color:var(--muted);font-size:11px;display:block}.village-number strong{letter-spacing:.18em;-webkit-user-select:all;user-select:all;padding-left:.18em;font:700 46px/1.5 Arial;display:block}.village-result .create-button{justify-content:center}.village-result #copy-status{min-height:24px;font-size:12px}.result-instructions{text-align:left;border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.result-instructions h3{font-size:14px}.result-instructions ol{color:var(--muted);padding-left:20px;font-size:13px;line-height:2}.edit-button{text-underline-offset:5px;font:inherit;cursor:pointer;min-height:44px;color:var(--muted);background:0 0;border:0;margin-top:28px;font-size:12px;text-decoration:underline}@media (width<=950px){.builder-layout{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.builder-section,.builder-summary{padding:22px}.stepper{gap:10px}}@media (width<=700px){.village-page #container>header{margin-bottom:30px}.builder-intro{padding:0 0 27px}.builder-intro h1{margin-bottom:13px;font-size:28px}.mobile-only{display:block}.builder-intro>p:last-child{font-size:12px}.builder-intro .eyebrow{letter-spacing:1.3px;font-size:10px}.builder-layout{grid-template-columns:minmax(0,1fr);gap:0}.builder-section{margin-bottom:17px;padding:20px 17px}.builder-section-title h2{font-size:17px}.builder-section-title p{font-size:11px}.builder-section-title{gap:10px}.section-badge{width:25px;height:25px;font-size:10px}.people-control{margin-top:18px;padding-top:18px}.stepper{gap:12px}.stepper output{min-width:46px;font-size:28px}.delivery-note{padding:12px 10px}.message-card textarea{min-height:112px}.builder-summary{margin-top:0;margin-bottom:22px;padding:22px;position:static}.builder-summary h2{margin-bottom:12px}.builder-summary dl{gap:24px;display:flex}.builder-summary dl>div{flex:1;padding:0 0 12px;display:block}.builder-summary dd{margin-top:4px}.summary-next{margin:18px 0}.create-button{min-height:56px;font-size:14px}.builder-help{margin-bottom:30px}.village-result{padding:25px 18px}.village-number strong{font-size:40px}}
