:root{--paper:#f4eee5;--text:#1f2740;--navy:#2e3a59;--support:#3d4560;--muted:#5f6472;--line:#e2d7c4;--line-soft:#efe7d9;--golden:#f5c167;--cream:#ffe9c6;--danger:#b4234a;--on-navy-muted:#d9dee8;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--paper);color:var(--text);-webkit-text-size-adjust:100%;font-family:Noto Sans JP,Hiragino Sans,sans-serif}h1,h2,p{margin:0}.display{font-family:Montserrat,sans-serif;font-weight:800;line-height:1.2}.mark{background:linear-gradient(transparent 60%, var(--golden) 60%)}.page{width:min(100%,560px);min-height:100dvh;padding:calc(20px + var(--safe-top)) 20px calc(28px + var(--safe-bottom));flex-direction:column;gap:14px;margin:0 auto;display:flex}.meta{color:var(--muted);font-size:15px}.heading{justify-content:space-between;align-items:center;gap:8px;min-height:120px;display:flex}.heading h1{font-size:clamp(28px,8vw,36px)}.heading img{flex:none;width:128px;height:auto}.card{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.card strong{font-size:16px}.card span,.card p{color:var(--muted);font-size:14px;line-height:1.5}.hero{background:var(--navy);color:#fff;border-radius:24px;flex-direction:column;gap:16px;padding:20px;display:flex}.hero-row{align-items:center;gap:16px;display:flex}.thumb{background:var(--paper);width:82px;height:146px;color:var(--text);text-align:center;border-radius:12px;flex:none;justify-content:center;align-items:center;padding:8px;font-size:15px;font-weight:700;line-height:1.35;display:flex;overflow:hidden}.hero-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.hero-small{color:var(--on-navy-muted);font-size:14px}.hero-count{color:var(--golden);font-family:Montserrat,sans-serif;font-size:38px;font-weight:800;line-height:1.1}.button{width:100%;min-height:56px;font:inherit;cursor:pointer;border:1.5px solid #0000;border-radius:16px;justify-content:center;align-items:center;padding:0 16px;font-size:17px;font-weight:700;text-decoration:none;display:flex}.button:disabled{opacity:.6;cursor:default}.button-primary{background:var(--navy);color:#fff}.button-golden{background:var(--golden);color:var(--text)}.button-outline{color:var(--text);background:#fff;border-color:#d8cdb9}.button-ghost-light{color:#fff;background:0 0;border-color:#fff}.button-danger{background:var(--danger);color:#fff}.button-plain{color:var(--text);background:0 0;min-height:48px}.spacer{margin-top:auto}.link-quiet{min-height:44px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;align-self:center;padding:0 12px;font-size:14px;text-decoration:underline}.error{color:var(--danger);font-size:15px;font-weight:700;line-height:1.5}.notice{background:var(--cream);border-radius:14px;padding:12px 14px;font-size:15px;font-weight:700}.login{padding-top:calc(64px + var(--safe-top));align-items:center}.login img{width:220px;height:auto}.login h1{font-size:32px}.login form{flex-direction:column;gap:12px;width:100%;margin-top:auto;display:flex}.field{flex-direction:column;gap:6px;font-size:15px;font-weight:700;display:flex}.field input{min-height:54px;font:inherit;color:var(--text);background:#fff;border:1px solid #d8cdb9;border-radius:14px;padding:0 14px;font-size:17px;font-weight:400}.video-page{background:var(--text);color:#fff;min-height:100dvh}.video-page .page{min-height:100dvh}.topbar{align-items:center;gap:6px;display:flex}.back{width:44px;height:44px;color:inherit;justify-content:center;align-items:center;margin-left:-10px;display:flex}.topbar-copy{flex-direction:column;min-width:0;display:flex}.topbar-copy strong{font-size:17px}.topbar-copy span{color:var(--on-navy-muted);font-size:14px}.player{aspect-ratio:9/16;background:#000;border-radius:20px;align-self:center;width:auto;max-width:100%;height:min(62dvh,600px)}.actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:auto;display:grid}.sheet-backdrop{z-index:10;background:#1f2740b8;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:min(100%,560px);max-height:100dvh;color:var(--text);padding:24px 20px calc(24px + var(--safe-bottom));background:#fff;border-radius:28px 28px 0 0;flex-direction:column;gap:14px;display:flex;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.sheet-head h2{font-size:26px}.sheet-head img{flex:none;width:90px;height:auto}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:44px;color:var(--text);font:inherit;cursor:pointer;background:#fff;border:1px solid #d8cdb9;border-radius:14px;padding:0 16px;font-size:15px}.chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:700}.consequence{background:var(--paper);border-radius:16px;flex-direction:column;gap:8px;padding:14px 16px;font-size:15px;line-height:1.5;display:flex}@media (min-width:900px){.page{width:min(100%,980px);padding:40px}.heading h1{font-size:40px}.hero-row .thumb{width:150px;height:266px;font-size:20px}.hero-count{font-size:52px}.video-page .page{grid-template-rows:auto 1fr;grid-template-columns:auto minmax(0,1fr);column-gap:40px;display:grid}.video-page .topbar{grid-column:1/-1}.player{height:min(78dvh,720px)}.actions{grid-template-columns:1fr;align-self:center;margin-top:0}}
