:root{--kinari:#f7f3e8;--paper:#fffdf8;--sumi:#1f1d1a;--muted:#5b544a;--line:#d9d0bf;--ai:#1e3a5f;--ai-soft:#e6ecf3;--shu:#b33a1c;--shu-dark:#8f2a12;--matsuba:#3a6334;--matsuba-soft:#e8f0e4;--fg:var(--sumi);--bg:var(--paper);--primary:var(--ai);--primary-fg:#fff;--soft:var(--ai-soft);--warn-bg:#fbf0dc;--warn:#6b4200;--fs:17px;--radius:14px;--font:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Hiragino Sans","BIZ UDPGothic","Yu Gothic UI","Meiryo","Noto Sans JP","Noto Sans CJK JP",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Arabic","Noto Sans Devanagari","Noto Sans Thai",sans-serif;--seigaiha:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='20' viewBox='0 0 40 20'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.16' stroke-width='1.2'%3E%3Cpath d='M0 20a20 20 0 0 1 40 0M6 20a14 14 0 0 1 28 0M12 20a8 8 0 0 1 16 0M-20 10a20 20 0 0 1 40 0M20 10a20 20 0 0 1 40 0'/%3E%3C/g%3E%3C/svg%3E");--asanoha:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='28' viewBox='0 0 48 28'%3E%3Cg fill='none' stroke='%231e3a5f' stroke-opacity='.05' stroke-width='1'%3E%3Cpath d='M0 0l24 14L48 0M0 28l24-14 24 14M24 0v28M0 14h48'/%3E%3C/g%3E%3C/svg%3E");--washi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45  0 0 0 0 .38  0 0 0 0 .25  0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}html.hc{--fg:#000;--muted:#000;--line:#000;--bg:#fff;--kinari:#fff;--ai:#0b1f38;--shu:#7d1e08;--soft:#fff;--warn-bg:#fff;--warn:#000;--washi:none;--asanoha:none}html.t-large{--fs:20px}html.t-xlarge{--fs:24px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font);font-size:var(--fs);line-height:1.6;color:var(--fg);background:var(--kinari) var(--washi);letter-spacing:.01em}.shell{max-width:480px;margin:0 auto;min-height:100vh;background:var(--bg) var(--washi);background-image:var(--washi),var(--asanoha);display:flex;flex-direction:column;box-shadow:0 0 0 1px var(--line)}main{flex:1 1;padding:0 16px 132px}header.top{position:-webkit-sticky;position:sticky;top:0;z-index:5;margin:0 -16px 12px;padding:10px 14px 18px;min-height:64px;display:flex;align-items:center;gap:10px;color:#fff;background:var(--ai) var(--seigaiha)}header.top:after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:repeating-linear-gradient(90deg,transparent 0 calc(33.33% - 2px),var(--bg) calc(33.33% - 2px) 33.33%)}header.top h1{font-size:1.2em;margin:0;flex:1 1;font-weight:700;letter-spacing:.06em}header.top h1 .sub{font-size:.7em;font-weight:500;opacity:.9;-webkit-margin-start:6px;margin-inline-start:6px}header.top .mon{filter:invert(1) brightness(2)}header.top button{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}.btn,button{font:inherit;min-height:48px;min-width:48px;border-radius:var(--radius);border:2px solid var(--line);background:var(--paper);color:var(--fg);padding:8px 14px;cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,label.btn:focus-within,select:focus-visible{outline:3px solid #2563eb;outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--ai);color:#fff;border-color:var(--ai);font-weight:700;min-height:56px;width:100%;font-size:1.05em;letter-spacing:.05em}.fab.primary{background:var(--shu);border-color:var(--shu)}.ghost{background:transparent;border-color:transparent;text-decoration:underline;color:var(--ai)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grow{flex:1 1}.card{display:flex;gap:12px;align-items:center;padding:12px 6px;border:0;border-bottom:1px solid var(--line);width:100%;text-align:start;border-radius:0;background:transparent}.thumb{width:72px;height:72px;border-radius:50%;background:var(--paper);border:2px solid var(--line);display:grid;place-items:center;font-size:34px;flex:none;overflow:hidden}.hero img,.thumb img{width:100%;height:100%;object-fit:cover}.hero{width:100%;aspect-ratio:4/3;border-radius:18px;background:var(--ai-soft) var(--asanoha);border:1px solid var(--line);display:grid;place-items:center;font-size:96px;overflow:hidden}.meta{color:var(--muted);font-size:.9em}.title{font-weight:700}.badge{display:inline-block;font-size:.78em;padding:2px 10px;border-radius:999px;background:var(--paper);border:1px solid var(--line)}.sample{border-color:#e2c48a}.banner,.sample{background:var(--warn-bg);color:var(--warn)}.banner{padding:10px 12px;border-radius:var(--radius);margin:8px 0;font-size:.92em;-webkit-border-start:4px solid #c9962e;border-inline-start:4px solid #c9962e}.section{margin:20px 0 6px;font-size:1.05em;font-weight:800;display:flex;align-items:center;gap:8px}.section:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--shu)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:10px;gap:10px}.tile{min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.95em;border-radius:18px}.tile .ic{font-size:36px}.tile[aria-pressed=true]{border-color:var(--ai);background:var(--ai-soft);border-width:3px;font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border-radius:999px}.chip[aria-pressed=true]{border-color:var(--ai);background:var(--ai-soft);font-weight:700}input[type=text],select,textarea{font:inherit;width:100%;min-height:52px;border:2px solid var(--line);border-radius:var(--radius);padding:10px 14px;background:#fff;color:var(--fg)}label.lbl{display:block;font-weight:700;margin:16px 0 6px}.qty{display:flex;align-items:center;gap:16px;justify-content:center}.qty b{font-size:2em;min-width:2ch;text-align:center}.qty button{width:64px;height:64px;font-size:1.6em;border-radius:50%}.fab{bottom:80px;width:min(448px,calc(100% - 32px));box-shadow:0 6px 16px rgba(80,30,10,.28)}.fab,nav.bottom{position:fixed;left:50%;transform:translateX(-50%);z-index:6}nav.bottom{bottom:0;width:min(480px,100%);display:flex;background:var(--paper);border-top:2px solid var(--ai)}nav.bottom button{flex:1 1;border:0;border-radius:0;min-height:66px;display:flex;flex-direction:column;align-items:center;font-size:.8em;gap:0;background:transparent}nav.bottom button span{font-size:1.4em}nav.bottom button[aria-current=page]{color:var(--ai);font-weight:800;box-shadow:inset 0 3px 0 var(--shu)}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:156px;background:var(--sumi);color:#fff;padding:12px 16px;border-radius:var(--radius);z-index:9;display:flex;gap:12px;align-items:center;max-width:90%}.toast button{color:#fff;border-color:#fff;background:transparent;min-height:40px}.offline{background:var(--sumi);color:#fff;text-align:center;padding:6px;font-size:.9em}a{color:var(--ai)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[dir=rtl] .flip{transform:scaleX(-1)}.big{min-height:100px;font-size:1.45em;font-weight:800;width:100%;margin:10px 0;border-radius:20px;color:#fff;letter-spacing:.08em;background-image:none}.big.need{background:var(--shu-dark);border-color:var(--shu-dark)}.big.offer{background:var(--matsuba);border-color:var(--matsuba)}.big.shelter{background:var(--ai);border-color:var(--ai)}.danger-banner{background:#000;color:#fff;padding:12px 14px;border-radius:var(--radius);font-weight:800;-webkit-border-start:8px solid #e0482a;border-inline-start:8px solid #e0482a}.disaster .shell,body.disaster .shell{background-image:none}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.mascot img{display:block;height:auto}.greet{display:flex;align-items:center;gap:12px;margin:8px 0 4px}.greet p{margin:0;background:var(--paper);border:1px solid #e2d9c6;border-radius:14px;padding:10px 12px;font-size:.95em;line-height:1.5;position:relative}.empty{display:grid;justify-items:center;text-align:center;grid-gap:4px;gap:4px;padding:16px 8px}.empty.small{padding:8px}.done{display:grid;justify-items:center;text-align:center;padding:16px 0 24px}.done h2{margin:8px 0 4px;color:var(--matsuba)}.dis-calm{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:.92em;color:var(--sumi)}.offline .mascot,.sos{display:inline-block;vertical-align:middle}.sos{font-weight:900;letter-spacing:.06em;font-size:.7em;line-height:1;padding:6px 8px;border:2px solid;border-radius:6px}html.hc .greet p{border-color:#000}.consent-box{max-height:46vh;overflow-y:auto;background:var(--paper);border:2px solid #d9cfb8;border-radius:12px;padding:4px 14px 10px;line-height:1.6}.consent-box:focus-visible{outline:3px solid var(--ai);outline-offset:2px}.consent-box h3{font-size:1em;margin:12px 0 4px;color:var(--shu-dark)}.consent-box ul{margin:0;-webkit-padding-start:1.2em;padding-inline-start:1.2em}.consent-box li{margin:4px 0}.consent-end{text-align:center;color:var(--muted);padding:10px 0 2px;font-size:.9em}.hint{font-weight:700;color:var(--shu-dark);margin:8px 0}.hint.ok{color:var(--matsuba)}.check{display:flex;gap:12px;align-items:flex-start;padding:12px;margin:8px 0;border:2px solid #d9cfb8;border-radius:12px;background:var(--paper);font-weight:700;cursor:pointer}.check input{width:26px;height:26px;flex:none;margin:0;accent-color:var(--ai)}.check.locked{opacity:.55;cursor:not-allowed}.card.illegal{border:2px solid var(--shu);color:var(--shu-dark);font-weight:700}section h3{font-size:1.02em;margin:16px 0 4px;color:var(--ai)}html.hc .check,html.hc .consent-box{border-color:#000}