:root{--bg: #eef5f2;--bg-deep: #d7ebe3;--ink: #14342b;--muted: #4a6a5f;--teal: #0f766e;--teal-dark: #0b5a54;--gold: #c9862a;--card: rgba(255, 255, 255, .72);--line: rgba(15, 118, 110, .18);--shadow: 0 18px 40px rgba(20, 52, 43, .12);--radius: 18px;--font-display: "DM Sans", "Zen Kaku Gothic New", sans-serif;--font-body: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);font-family:var(--font-body);background:radial-gradient(1200px 600px at 10% -10%,#c8f0e4 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,#f6e7c8 0%,transparent 50%),linear-gradient(180deg,var(--bg) 0%,var(--bg-deep) 100%);background-attachment:fixed}a{color:var(--teal-dark);text-decoration:none}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#eef5f2d1;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:700;color:var(--ink);letter-spacing:.01em}.brand-mark{width:1.35rem;height:1.35rem;border-radius:.4rem;background:linear-gradient(135deg,#14b8a6,#0f766e),radial-gradient(circle at 30% 40%,#fbbf24 0 35%,transparent 36%)}.nav{display:flex;align-items:center;gap:.75rem;font-weight:500}.nav-cta{background:var(--teal);color:#fff!important;padding:.45rem .9rem;border-radius:999px}.main{flex:1;width:min(920px,100%);margin:0 auto;padding:1.25rem 1rem 2.5rem}.footer{padding:1.25rem 1rem 2rem;text-align:center;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}.hero{padding:1.5rem 0 .5rem}.hero h1{margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.2;letter-spacing:-.02em}.hero p{margin:0 0 1.25rem;color:var(--muted);font-size:1.05rem;line-height:1.65;max-width:36rem}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;padding:.75rem 1.2rem;font:inherit;font-weight:700;cursor:pointer}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-dark)}.btn-secondary{background:#fff;color:var(--teal-dark);border:1px solid var(--line)}.notice{margin-top:1.5rem;padding:1rem 1.1rem;border-radius:var(--radius);background:#ffffffa6;border:1px dashed rgba(201,134,42,.45);color:var(--muted);line-height:1.6}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.card{display:flex;flex-direction:column;gap:.55rem;padding:1rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);color:inherit;transition:transform .18s ease}.card:hover{transform:translateY(-2px)}.card h2{margin:0;font-size:1.05rem}.card .meta{color:var(--muted);font-size:.9rem}.thumb{width:100%;aspect-ratio:9 / 16;object-fit:cover;object-position:top;border-radius:12px;background:#fff;border:1px solid var(--line)}.viewer{display:flex;flex-direction:column;gap:1rem}.viewer-header h1{margin:0 0 .25rem;font-size:1.45rem}.viewer-header p{margin:0;color:var(--muted)}.page-stack{display:flex;flex-direction:column;gap:.75rem}.page-stack img{width:100%;border-radius:12px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.player-box{padding:.85rem;border-radius:var(--radius);background:#fffc;border:1px solid var(--line)}.form{display:flex;flex-direction:column;gap:.9rem;padding:1.1rem;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}label{display:flex;flex-direction:column;gap:.35rem;font-weight:500;font-size:.95rem}input,select{font:inherit;padding:.65rem .75rem;border-radius:12px;border:1px solid var(--line);background:#fff}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:560px){.row-2{grid-template-columns:1fr}}.status{padding:.85rem 1rem;border-radius:12px;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.error{background:#fef2f2;color:#991b1b;border-color:#fecaca}.section-title{margin:0 0 1rem;font-size:1.35rem}
