:root{--ink:#14201b;--ink-soft:#3d4f46;--forest:#0b3d2e;--forest-deep:#072820;--jade:#1f6b52;--mist:#d7e6df;--mist-strong:#c3d8ce;--paper:#f3f7f5;--paper-bright:#fafcfb;--lacquer:#b42318;--gold:#b0892e;--line:color-mix(in oklab, var(--forest) 14%, transparent);--shadow:0 18px 40px color-mix(in oklab, var(--forest-deep) 14%, transparent);--radius:18px;--nav-h:4.5rem;--font-display:"Fraunces", Georgia, serif;--font-body:"Manrope", system-ui, sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(1200px 600px at 10% -10%, #cfe3d8 0%, transparent 55%), radial-gradient(900px 500px at 100% 0%, #e4efe8 0%, transparent 50%), linear-gradient(180deg, #e8f1ec 0%, var(--paper) 42%, #eef4f1 100%);background-attachment:fixed;margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.app-shell{width:min(720px,100%);min-height:100dvh;padding:1.25rem 1.15rem calc(var(--nav-h) + 1.5rem);margin:0 auto;position:relative}.offline-banner{z-index:20;background:color-mix(in oklab, var(--gold) 22%, white);color:var(--forest-deep);text-align:center;margin:-1.25rem -1.15rem 1rem;padding:.55rem 1.15rem;font-size:.85rem;font-weight:600;animation:.28s ease-out slide-down;position:sticky;top:0}.brand-mark{font-family:var(--font-display);letter-spacing:-.03em;color:var(--forest);font-weight:700}.hero{border-radius:calc(var(--radius) + 6px);color:var(--paper-bright);background:linear-gradient(145deg, color-mix(in oklab, var(--forest) 88%, black), var(--jade)), radial-gradient(circle at 85% 15%, color-mix(in oklab, var(--gold) 45%, transparent), transparent 40%);box-shadow:var(--shadow);padding:1.75rem 1.4rem 1.5rem;animation:.52s ease-out rise;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background:radial-gradient(oklab(100% 0 5.96046e-8/.18),#0000 65%);height:70%;position:absolute;inset:auto -20% -40% 20%}.hero-kicker{letter-spacing:.14em;text-transform:uppercase;opacity:.78;margin:0 0 .35rem;font-size:.78rem;font-weight:600}.hero h1{font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(2.4rem,9vw,3.4rem);font-weight:700;line-height:.95}.hero p{opacity:.9;max-width:28ch;margin:.85rem 0 0;font-size:1rem;line-height:1.45}.hero-meta{flex-wrap:wrap;gap:.55rem;margin-top:1.25rem;display:flex}.chip{background:oklab(100% 0 5.96046e-8/.16);border:1px solid oklab(100% 0 5.96046e-8/.22);border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.82rem;font-weight:600;display:inline-flex}.section{margin-top:1.75rem;animation:.56s ease-out rise}.section-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.85rem;display:flex}.section-head h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--forest-deep);margin:0;font-size:1.45rem}.section-head p,.muted{color:var(--ink-soft);margin:0;font-size:.92rem;line-height:1.45}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.quick-link{border-radius:var(--radius);background:color-mix(in oklab, var(--paper-bright) 82%, white);border:1px solid var(--line);flex-direction:column;gap:.25rem;padding:1rem .95rem;transition:transform .16s,border-color .16s,background .16s;display:flex}.quick-link:hover,.quick-link:focus-visible{border-color:color-mix(in oklab, var(--jade) 40%, var(--line));background:#fff;outline:none;transform:translateY(-2px)}.quick-link strong{color:var(--forest);font-size:.98rem}.quick-link span{color:var(--ink-soft);font-size:.82rem}.list{gap:.7rem;display:grid}.list-item{border-radius:var(--radius);background:color-mix(in oklab, var(--paper-bright) 88%, white);border:1px solid var(--line);grid-template-columns:auto 1fr;align-items:start;gap:.9rem;padding:.95rem 1rem;display:grid}.day-badge{background:var(--mist);width:2.6rem;height:2.6rem;color:var(--forest);border-radius:.9rem;place-items:center;font-size:.85rem;font-weight:700;display:grid}.list-item h3{letter-spacing:-.01em;margin:0;font-size:1rem}.list-item .meta{color:var(--jade);margin:.15rem 0 0;font-size:.8rem;font-weight:600}.list-item .summary{color:var(--ink-soft);margin:.35rem 0 0;font-size:.88rem;line-height:1.4}.panel{border-radius:var(--radius);background:color-mix(in oklab, var(--paper-bright) 90%, white);border:1px solid var(--line);padding:1.1rem 1rem}.notes{gap:.4rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.notes li{color:var(--ink-soft);padding-left:.9rem;font-size:.9rem;position:relative}.notes li:before{content:"";background:var(--gold);border-radius:50%;width:.35rem;height:.35rem;position:absolute;top:.55em;left:0}.toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.btn{appearance:none;background:var(--forest);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.65rem 1.05rem;font-weight:650;transition:transform .14s,background .14s}.btn:hover{background:var(--jade)}.btn:active{transform:scale(.98)}.btn.secondary{color:var(--forest);border:1px solid color-mix(in oklab, var(--forest) 28%, transparent);background:0 0}.btn:disabled{opacity:.55;cursor:not-allowed}.field{gap:.35rem;display:grid}.field label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:.78rem;font-weight:700}.field input,.field select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:.75rem .85rem}.currency-grid{gap:.85rem;display:grid}.currency-result{border-radius:var(--radius);background:linear-gradient(135deg, var(--mist), color-mix(in oklab, var(--mist-strong) 70%, white));margin-top:.35rem;padding:1rem}.currency-result strong{font-family:var(--font-display);letter-spacing:-.02em;color:var(--forest-deep);font-size:1.65rem;display:block}.phrase-cat{margin-bottom:1.25rem}.phrase-cat h3{letter-spacing:.08em;text-transform:uppercase;color:var(--jade);margin:0 0 .55rem;font-size:.8rem}.phrase{border-bottom:1px solid var(--line);gap:.15rem;padding:.8rem 0;display:grid}.phrase:last-child{border-bottom:none}.phrase .vi{font-family:var(--font-display);color:var(--forest-deep);font-size:1.15rem}.phrase .en{color:var(--ink-soft);font-size:.9rem}.phrase .pron{color:var(--gold);font-size:.8rem;font-weight:600}.docs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.doc-card{border-radius:var(--radius);border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;padding:0;overflow:hidden}.doc-thumb{aspect-ratio:4/3;background:linear-gradient(145deg, var(--mist), var(--mist-strong));color:var(--forest);letter-spacing:.04em;text-transform:uppercase;place-items:center;font-size:.75rem;font-weight:700;display:grid}.doc-thumb img{object-fit:cover;width:100%;height:100%}.doc-card figcaption{padding:.65rem .7rem .8rem}.doc-card strong{color:var(--ink);font-size:.82rem;line-height:1.3;display:block}.doc-card span{color:var(--ink-soft);margin-top:.2rem;font-size:.72rem;display:block}.empty{border-radius:var(--radius);border:1px dashed color-mix(in oklab, var(--forest) 25%, transparent);color:var(--ink-soft);text-align:center;background:oklab(100% 0 5.96046e-8/.55);padding:1.4rem 1rem;line-height:1.45}.bottom-nav{width:min(720px,100%);height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:.45rem .6rem calc(.45rem + env(safe-area-inset-bottom));background:color-mix(in oklab, var(--paper-bright) 88%, white);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:30;grid-template-columns:repeat(5,1fr);gap:.2rem;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-link{color:var(--ink-soft);border-radius:12px;place-items:center;gap:.15rem;padding:.35rem .2rem;font-size:.68rem;font-weight:650;display:grid}.nav-link span.icon{font-size:1.05rem;line-height:1}.nav-link.active{color:var(--forest);background:color-mix(in oklab, var(--mist) 70%, white)}.page-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--forest-deep);margin:0 0 .35rem;font-size:2rem}.status-dot{background:var(--jade);border-radius:50%;width:.45rem;height:.45rem;display:inline-block}.status-dot.warn{background:var(--gold)}.status-dot.err{background:var(--lacquer)}.lightbox{z-index:50;background:color-mix(in oklab, var(--forest-deep) 72%, black);place-items:center;padding:1rem;animation:.18s fade;display:grid;position:fixed;inset:0}.lightbox img,.lightbox iframe{background:#fff;border-radius:12px;max-width:min(960px,100%);max-height:85dvh}.lightbox-close{position:absolute;top:1rem;right:1rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (width>=720px){.app-shell{padding-top:2rem}.docs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
