:root{color:#1f1a14;background:#f5eddf;font-family:Avenir Next,Gill Sans,Trebuchet MS,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--modal-viewport-height: 100vh;--modal-gutter: 20px;--ink: #1f1a14;--muted: #685d50;--paper: #fff9ef;--paper-strong: #fff2d8;--line: #decfb8;--accent: #0f6b5f;--accent-strong: #084a42;--signal: #c85f2f;--shadow: 0 24px 80px rgba(66, 45, 20, .16)}@supports (height: 100svh){:root{--modal-viewport-height: 100svh}}@supports (height: 100dvh){:root{--modal-viewport-height: 100dvh}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 15% 0%,rgba(15,107,95,.16),transparent 30rem),radial-gradient(circle at 90% 15%,rgba(200,95,47,.18),transparent 24rem),linear-gradient(135deg,#f7efe2,#eadcc5)}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--accent-strong);text-decoration:none}.hero,main{width:min(1180px,calc(100% - 32px));margin:0 auto}.hero{padding:14px 0 6px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.topbar strong{letter-spacing:-.04em;font-size:1.15rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:18px;align-items:end}.hero h1{max-width:520px;margin:6px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4.4vw,3.35rem);line-height:.94;letter-spacing:-.055em}.hero-note{max-width:520px;margin:10px 0 0;color:var(--muted);font-size:1rem;line-height:1.4}.hero-card{align-self:end;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;padding:14px 16px;border:1px solid var(--line);background:#fff9efb8;box-shadow:var(--shadow);border-radius:20px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-card strong{color:var(--signal);font-family:Georgia,Times New Roman,serif;font-size:1.7rem;line-height:1}.hero-card span{align-self:center;color:var(--muted);font-size:.88rem}.eyebrow{color:var(--signal);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.finder,.results{margin:14px 0;padding:clamp(16px,3vw,24px);border:1px solid var(--line);background:#fff9efc7;border-radius:32px;box-shadow:0 16px 60px #422d141a}.finder{display:grid;gap:18px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.finder-intro{display:flex;justify-content:space-between;gap:18px;align-items:end}.finder-copy{display:grid;gap:8px;max-width:640px}.finder-copy h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.9rem,4vw,3rem);line-height:.96;letter-spacing:-.05em}.finder-copy p{margin:0;color:var(--muted);line-height:1.5}.finder-actions{display:flex;align-items:center}.search-box{display:grid;gap:12px;padding:18px;border:1px solid rgba(222,207,184,.9);border-radius:26px;background:linear-gradient(180deg,#fffcf5f5,#fff7eae0)}.situation-trigger{border:1px solid rgba(15,107,95,.38);background:var(--accent);color:#fff;border-radius:999px;padding:9px 14px;font-weight:700;line-height:1.15}.situation-trigger:hover{background:var(--accent-strong)}.search-field,.filters label{display:grid;gap:8px}.field-label{color:var(--muted);font-size:.83rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.search-box input{width:100%;border:2px solid rgba(222,207,184,.6);background:#fff;color:var(--ink);border-radius:22px;padding:17px 18px;font-size:1.02rem;outline:none;box-shadow:inset 0 1px #ffffffd9}.search-box input:focus,select:focus{border-color:var(--accent)}.active-situation{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;width:fit-content;margin:0;border-radius:999px;background:#0f6b5f1a;color:var(--accent-strong);padding:8px 12px}.active-situation span{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.active-situation strong{font-size:.96rem}.filter-panel{display:grid;gap:14px;padding:18px;border:1px solid rgba(222,207,184,.85);border-radius:26px;background:#fffaf1bd}.filter-panel-heading{display:grid;gap:4px}.filter-panel-heading strong{font-size:1rem;letter-spacing:-.02em}.filter-panel-heading p{margin:0;color:var(--muted);line-height:1.4}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}select{width:100%;border:2px solid rgba(222,207,184,.6);border-radius:18px;background:#fff;color:var(--ink);padding:11px 13px;outline:none}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}.section-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,5vw,3.8rem);line-height:.96;letter-spacing:-.05em}.results-title{font-size:clamp(.98rem,1.5vw,1.25rem);line-height:1.15;letter-spacing:-.02em}.tag-row,.related-row{display:flex;flex-wrap:wrap;gap:10px}.related-row button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:10px 14px}.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.model-card{min-height:100%}.card-button{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left;border:1px solid var(--line);background:linear-gradient(180deg,#fffdf8 0%,var(--paper-strong) 100%);color:var(--ink);border-radius:28px;padding:22px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.card-button:hover{transform:translateY(-3px);border-color:#0f6b5f73;box-shadow:0 18px 40px #422d1424}.model-card h3,.detail-panel h2,.situation-panel h2{margin:0;font-family:Georgia,Times New Roman,serif;letter-spacing:-.04em}.model-card h3{font-size:1.7rem;line-height:1}.model-card p,.detail-panel p{color:var(--muted);line-height:1.5}.multiline-text{white-space:pre-line}.english{margin:-6px 0 0;font-style:italic}.tag-row span{border:1px solid var(--line);color:var(--accent-strong);background:#0f6b5f14;border-radius:999px;padding:5px 9px;font-size:.78rem}.card-button strong{margin-top:auto;color:var(--accent-strong)}.empty{grid-column:1 / -1;color:var(--muted)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:end center;padding:var(--modal-gutter);padding-bottom:calc(var(--modal-gutter) + env(safe-area-inset-bottom,0px));background:#1f1a146b}.detail-panel,.situation-panel{width:min(980px,100%);max-height:min(780px,calc(var(--modal-viewport-height) - (var(--modal-gutter) * 2) - env(safe-area-inset-bottom,0px)));overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);background:var(--paper);border-radius:32px;padding:clamp(22px,5vw,42px);padding-bottom:calc(clamp(22px,5vw,42px) + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow)}.close-button{position:sticky;top:0;z-index:1;display:block;margin-left:auto;margin-bottom:12px;border:1px solid var(--line);background:#fffffff5;border-radius:999px;padding:10px 14px}.detail-panel h2,.situation-panel h2{margin-top:8px;line-height:.92}.detail-panel h2{font-size:clamp(1.6rem,3.5vw,2.7rem);margin-bottom:10px}.detail-panel .eyebrow{display:inline-block;margin-bottom:12px}.detail-panel .english{margin:0 0 18px}.situation-panel{width:min(900px,100%)}.situation-panel h2{max-width:680px;font-size:clamp(2rem,5vw,4.2rem)}.situation-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}.situation-option{display:grid;gap:8px;align-content:start;min-height:132px;border:1px solid var(--line);border-radius:18px;background:#fff;color:var(--ink);padding:16px;text-align:left}.situation-option strong{font-size:1.02rem;line-height:1.25}.situation-option span:last-child{color:var(--muted);line-height:1.35}.situation-option.active{border-color:var(--accent);box-shadow:inset 0 0 0 2px #0f6b5f2e}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:26px 0}.detail-grid div{border:1px solid var(--line);border-radius:22px;background:#fff;padding:18px}.detail-grid h3{margin:0}.source-note{border-left:4px solid var(--signal);padding-left:14px}@media (max-width: 850px){.finder-intro,.hero-grid,.filters,.model-grid,.detail-grid{grid-template-columns:1fr}.finder-intro{display:grid;align-items:start}.hero-card{display:none}.topbar,.section-heading{align-items:flex-start;flex-direction:column}.situation-options{grid-template-columns:1fr}.finder{position:static}.model-card h3{font-size:1.45rem}.overlay{--modal-gutter: 12px}.detail-panel,.situation-panel{border-radius:28px}}@media print{body{background:#fff}.hero,.finder,.results,.overlay{display:none!important}main{width:100%;margin:0;padding:0;border:0;box-shadow:none}}
