:root{color-scheme:light;font-family:Outfit,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#0f3a4a;background-color:#fcf8ee;--ink: #0f3a4a;--ink-soft: #1a4d60;--slate: #4a6b7c;--sky: #a9d8e9;--frog: #86b03c;--frog-dark: #6f942f;--olive: #a8c163;--sand: #fcf8ee;--mist: rgba(244, 240, 231, .85);--glass: rgba(255, 255, 255, .7)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:#fcf8ee}#root{position:relative;min-height:100vh;isolation:isolate}.app-shell{position:relative;min-height:100vh;display:flex;flex-direction:column;gap:2.5rem}main{flex:1;padding:0 6vw 4rem}h1,h2,h3{font-family:Fraunces,serif;margin:0;color:var(--ink)}p{margin:0;color:var(--slate)}a{color:inherit;text-decoration:none}.background-layer{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.background-image{position:absolute;inset:0;background-size:cover;background-position:center center;background-repeat:no-repeat;opacity:.12;transform:scale(1.02);transition:opacity .6s ease}.background-overlay{position:absolute;inset:0;background:#fcf8eee6}.site-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 6vw;backdrop-filter:blur(14px);background:#fcf8ee;border-bottom:1px solid rgba(15,58,74,.12)}.brand{display:flex;align-items:center;gap:1rem}.brand img{width:64px;height:64px;object-fit:contain}.brand-name{display:block;font-size:1.4rem;font-weight:600;color:var(--ink)}.brand-name-primary{color:#0f3a4a}.brand-name-accent{color:#6f942f}.brand-tagline{display:block;font-size:.95rem;color:var(--slate)}.site-nav{display:flex;gap:1.5rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.site-nav a{padding-bottom:.3rem;border-bottom:2px solid transparent;transition:border-color .2s ease}.site-nav a.active,.site-nav a:hover{border-color:var(--frog)}.hero{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:center;margin:2rem 0 3rem}.hero-copy h1{font-size:clamp(2.2rem,3vw,3.2rem);margin-bottom:1rem}.hero-copy p{font-size:1.1rem;max-width:42ch}.hero-card{background:var(--glass);padding:1.5rem;border-radius:1rem;border:1px solid rgba(15,58,74,.12);box-shadow:0 20px 50px #0f3a4a1f}.hero-card h2{font-size:1.5rem;margin-bottom:.4rem}.tag-cloud{display:flex;flex-wrap:wrap;gap:.5rem .75rem;padding:1.6rem;border-radius:999px;background:transparent;border:1px solid rgba(15,58,74,.08);width:min(72vw,520px);height:min(72vw,520px);align-items:center;justify-content:center;align-content:center;margin:2rem auto 0;position:relative;z-index:1}.home{position:relative;min-height:65vh;display:flex;align-items:center;justify-content:center;width:100vw;margin-left:calc(50% - 50vw)}.home-background{position:absolute;inset:0;z-index:0}.home-background .background-image{opacity:.5}.home-background .background-overlay{background:#fcf8ee73}.tag-item{position:relative;display:inline-flex;align-items:center}.tag-item a{font-family:Fraunces,serif;color:var(--ink);display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .4rem;border-radius:999px;transition:color .2s ease,transform .2s ease;font-weight:600}.tag-item a:hover{color:var(--ink-soft);transform:scale(1.08)}.tag-count{font-size:.7rem;font-weight:600;color:var(--slate)}.tag-preview-group{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}.tag-preview-item{position:absolute;left:50%;top:50%;padding:.4rem;background:#0f3a4ae0;border-radius:.7rem;box-shadow:0 18px 40px #0f3a4a4d;transform:translate(-50%,-50%);transform-origin:center;z-index:2}.tag-preview-item img{width:72px;height:72px;object-fit:cover;border-radius:.5rem;display:block}.home-footer{margin-top:2.5rem;font-size:.95rem;color:var(--slate)}.gallery-page{display:flex;flex-direction:column;gap:2rem}.page-hero{display:flex;flex-direction:column;gap:1.5rem;background:#ffffffb3;padding:1.8rem;border-radius:1.2rem;border:1px solid rgba(15,58,74,.1)}.page-hero h1{font-size:clamp(2rem,2.8vw,2.8rem);margin-bottom:.5rem}.back-home{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--slate);margin-bottom:.5rem}.back-home:hover{color:var(--ink)}.tag-filter{display:flex;flex-wrap:wrap;gap:.6rem}.tag-filter a{padding:.35rem .8rem;border-radius:999px;border:1px solid rgba(15,58,74,.2);background:#fff9;font-size:.85rem;color:var(--ink)}.tag-filter a.active{background:var(--frog);color:#fff;border-color:var(--frog-dark)}.photo-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}.photo-card{margin:0;border-radius:1rem;overflow:hidden;background:#ffffffd9;border:1px solid rgba(15,58,74,.1);box-shadow:0 16px 30px #0f3a4a1f}.photo-card img{width:100%;height:auto;max-height:80vh;object-fit:contain;display:block;background:#fcf8eeb3}.empty-state{padding:2rem;border-radius:1rem;background:#ffffffb3;border:1px dashed rgba(15,58,74,.2);display:flex;flex-direction:column;gap:.6rem}.empty-state a{color:var(--ink);font-weight:600}.llm-responses{display:flex;flex-direction:column;gap:2.5rem}.zweistein{display:flex;flex-direction:column;gap:2rem}.explainer-hero{display:grid;gap:2rem;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);background:var(--glass);padding:2rem;border-radius:1.2rem;border:1px solid rgba(15,58,74,.12);box-shadow:0 18px 40px #0f3a4a14}.lede{font-size:1.05rem;max-width:56ch}.zweistein-hero-image{display:block;width:min(100%,320px);height:auto;margin:1rem 0 .9rem}.zweistein-explainer-card p+p{margin-top:.95rem}.explainer-card h2{margin-top:1.3rem}.explainer-card h2:first-of-type{margin-top:0}.prompt-form{display:flex;flex-direction:column;gap:.6rem;padding:1.6rem;border-radius:1rem;border:1px solid rgba(15,58,74,.12);background:#ffffffb3}.prompt-form label{font-weight:600}.prompt-input-row{display:flex;gap:.8rem;flex-wrap:wrap;align-items:flex-start}.prompt-input-row input{flex:1;min-width:240px;padding:.75rem .9rem;border-radius:.85rem;border:1px solid rgba(15,58,74,.2);font-size:1rem;font-family:inherit;background:#fff;color:var(--ink)}.prompt-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.6rem}.temperature-control{display:flex;flex-direction:column;gap:.3rem;width:130px}.temperature-scale{display:flex;justify-content:space-between;font-size:.75rem;color:var(--slate)}.temperature-slider{width:100%;padding:0}.prompt-input-row input:focus{outline:2px solid rgba(134,176,60,.35);border-color:var(--frog-dark)}.zweistein-question{width:100%;min-height:130px;padding:.8rem .9rem;border-radius:.85rem;border:1px solid rgba(15,58,74,.2);font-size:1rem;font-family:inherit;background:#fff;color:var(--ink);resize:vertical}.zweistein-question:focus,.zweistein-model-field select:focus{outline:2px solid rgba(134,176,60,.35);border-color:var(--frog-dark)}.zweistein-model-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.zweistein-model-field{display:flex;flex-direction:column;gap:.35rem;font-weight:600;color:var(--ink)}.zweistein-model-field select{padding:.75rem .9rem;border-radius:.85rem;border:1px solid rgba(15,58,74,.2);font-size:.95rem;font-family:inherit;background:#fff;color:var(--ink)}.prompt-actions{display:flex;align-items:center;gap:.8rem}.prompt-actions button{padding:.75rem 1.4rem;border-radius:.85rem;border:none;background:var(--frog);color:#fff;font-weight:600;letter-spacing:.04em;cursor:pointer}.prompt-actions button:disabled{opacity:.65;cursor:default}.model-note{margin:0;font-size:.9rem;color:var(--slate)}.response-panel{display:flex;flex-direction:column;gap:1rem;padding:1.8rem;border-radius:1.2rem;border:1px solid rgba(15,58,74,.12);background:#ffffffc7}.response-note{font-size:.9rem;color:var(--slate)}.zweistein-results{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.zweistein-result-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem}.model-response-text{white-space:pre-wrap;color:var(--ink-soft)}.change-list{margin:0;padding-left:1.15rem;color:var(--ink-soft)}.change-list li+li{margin-top:.35rem}.response-panel details{border-top:1px solid rgba(15,58,74,.12);padding-top:.8rem}.response-panel summary{cursor:pointer;font-weight:600;color:var(--ink);margin-bottom:.6rem}.response-summary{font-size:clamp(1.4rem,2.2vw,2.3rem);font-weight:700;color:var(--ink);line-height:1.5}.word-logprob-grid{display:flex;flex-wrap:wrap;gap:.4rem}.word-item{display:flex;flex-direction:column;gap:.15rem;padding:.35rem .55rem;border-radius:.8rem;border:1px solid rgba(15,58,74,.12);background:#fcf8eeb3;min-width:90px}.word-text{font-size:.95rem;font-weight:600;color:var(--ink)}.token-text{white-space:pre-wrap}.word-prob{font-size:.75rem;color:var(--slate);padding-left:.35rem}.word-emphasis .word-text{font-size:1.1rem;font-weight:700}.prob-high .prob,.prob-high .word-prob{color:#2f7a35;font-weight:600}.prob-mid .prob,.prob-mid .word-prob{color:#b8860b;font-weight:600}.prob-low .prob,.prob-low .word-prob{color:#b83a2f;font-weight:600}.prob-mid.word-item{background:#b8860b29;border-color:#b8860b66}.prob-low.word-item{background:#b83a2f1f;border-color:#b83a2f59}.error-text{color:#b83a2f;font-weight:600}.empty-response{color:var(--slate)}.loading-overlay{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#fcf8eeb8;backdrop-filter:blur(3px)}.loading-card{display:flex;align-items:center;gap:.8rem;padding:.85rem 1rem;border-radius:999px;border:1px solid rgba(15,58,74,.16);background:#ffffffdb;box-shadow:0 18px 40px #0f3a4a1f}.loading-spinner{width:20px;height:20px;border-radius:50%;border:2px solid rgba(15,58,74,.16);border-top-color:var(--frog-dark);border-right-color:var(--ink-soft);animation:loading-spin .85s linear infinite}.loading-message{font-weight:600;color:var(--ink-soft);letter-spacing:.01em}@keyframes loading-spin{to{transform:rotate(360deg)}}@media(max-width:720px){.site-header{flex-direction:column;align-items:flex-start;gap:1rem}main{padding:0 5vw 3.5rem}.tag-preview-item img{width:60px;height:60px}.tag-cloud{width:min(86vw,420px)}.explainer-hero{grid-template-columns:1fr}.prompt-input-row{flex-direction:column;align-items:stretch}}
