:root{--bg:#fffaf6;--card:#fff;--ink:#23201d;--sub:#6f675f;--line:#ece3da;--accent:#ff6b3d;--accent-ink:#fff;--soft:#fff0e8;--ok:#1f8a5b;--warn:#b5541c;--err:#c0392b;--radius:14px}@media (prefers-color-scheme:dark){:root{--bg:#161412;--card:#211e1b;--ink:#f3eee9;--sub:#b0a69c;--line:#36302a;--accent:#ff7d52;--accent-ink:#1a0f0a;--soft:#2c211b;--ok:#5cc995;--warn:#f0a070;--err:#ff7b6e}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);padding-bottom:72px;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;font-size:15px;line-height:1.65}a{color:inherit}.top{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);padding:10px 16px;position:sticky;top:0}.logo{letter-spacing:.04em;color:var(--accent);font-size:20px;font-weight:800;text-decoration:none}.logo span{color:var(--sub);letter-spacing:0;margin-left:10px;font-size:12px;font-weight:500}.wrap{max-width:640px;margin:0 auto;padding:16px}.tabs{z-index:5;background:var(--card);border-top:1px solid var(--line);padding:10px 0 calc(10px + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs a{color:var(--sub);font-size:13px;font-weight:600;text-decoration:none}h1{margin:4px 0 12px;font-size:20px;line-height:1.4}h2{margin:24px 0 8px;font-size:16px}p{margin:6px 0}.sub{color:var(--sub);font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:10px 0;padding:14px;text-decoration:none;display:block}a.card:active{transform:scale(.995)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spread{justify-content:space-between;align-items:center;gap:8px;display:flex}.chip{background:var(--soft);color:var(--accent);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.chip.gray{background:var(--line);color:var(--sub)}.chip.ok{border:1px solid var(--ok);color:var(--ok);background:0 0}.btn,button{cursor:pointer;font:inherit;background:var(--accent);color:var(--accent-ink);text-align:center;border:0;border-radius:999px;padding:11px 20px;font-size:15px;font-weight:700;text-decoration:none;display:inline-block}.btn.ghost,button.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}button.link{color:var(--sub);background:0 0;padding:0;font-size:13px;font-weight:500;text-decoration:underline}.wide{width:100%}form.stack{gap:14px;display:grid}label{gap:4px;font-size:13px;font-weight:600;display:grid}input,select,textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;width:100%;padding:10px 12px}textarea{resize:vertical;min-height:90px}label.check{align-items:flex-start;gap:8px;font-weight:500;display:flex}label.check input{width:auto;margin-top:4px}.flash{border-radius:10px;margin:10px 0;padding:10px 12px;font-size:14px}.flash.err{background:color-mix(in srgb, var(--err) 12%, transparent);color:var(--err)}.flash.ok{background:color-mix(in srgb, var(--ok) 12%, transparent);color:var(--ok)}.sheet{border:2px solid var(--accent);border-radius:var(--radius);background:var(--soft);margin:12px 0;padding:14px}.meter{font-weight:700}.meter.full{color:var(--warn)}.search{gap:8px;display:flex}.search input{flex:1}.filters{gap:6px;margin:10px 0;display:flex;overflow-x:auto}.filters a{text-decoration:none}.chat{gap:8px;margin:12px 0 90px;display:grid}.msg{background:var(--card);border:1px solid var(--line);border-radius:12px;max-width:85%;padding:8px 12px}.msg.mine{background:var(--soft);border-color:#0000;justify-self:end}.msg .who{color:var(--sub);font-size:12px}.composer{background:var(--bg);border-top:1px solid var(--line);padding:8px 16px;position:fixed;bottom:56px;left:0;right:0}.composer form{gap:8px;max-width:640px;margin:0 auto;display:flex}.composer input{flex:1}.thumb{margin:-14px -14px 10px}.thumb img,.thumb-tile{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0;background:var(--soft);width:100%;display:block}.thumb-tile{background:linear-gradient(135deg, var(--accent), #ffb347);color:#fff;flex-direction:column;justify-content:flex-end;gap:4px;padding:14px;display:flex}.thumb-tile span{opacity:.9;font-size:12px;font-weight:700}.thumb-tile strong{font-size:17px;line-height:1.4}.thumb.large{margin:0 0 12px}.thumb.large img,.thumb.large .thumb-tile{border-radius:var(--radius)}.thumb figcaption{color:var(--sub);margin-top:4px;font-size:11px}details summary{cursor:pointer;color:var(--sub);font-size:13px}hr{border:0;border-top:1px solid var(--line);margin:18px 0}
