/* Oysters Template Library v1 — scoped beneath .oytpl */
.oytpl{--navy:#0d3554;--navy2:#173f5f;--ink:#1f3141;--muted:#667584;--cream:#fbf7ec;--paper:#fffdf8;--line:#dfe4e6;--teal:#0a7d83;--teal2:#dff4f1;--red:#c93c32;--gold:#d69b31;--green:#26764b;--bluewash:#eef6f8;color:var(--ink);background:#f8f6ef;font-family:Arial,Helvetica,sans-serif;min-height:70vh}
.oytpl *{box-sizing:border-box}.oytpl a{color:inherit}.oytpl img{max-width:100%;display:block}.oytpl .tpl-shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.oytpl .tpl-serif{font-family:Georgia,'Times New Roman',serif}.oytpl .tpl-section{padding:28px 0}.oytpl .tpl-section+.tpl-section{border-top:1px solid var(--line)}
.oytpl .tpl-kicker{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:var(--teal)}.oytpl h1,.oytpl h2,.oytpl h3{color:var(--navy);margin:0 0 .45em}.oytpl h1{font:700 clamp(2rem,4vw,3.8rem)/1.02 Georgia,serif}.oytpl h2{font:700 clamp(1.35rem,2.4vw,2.25rem)/1.08 Georgia,serif}.oytpl h3{font:700 1.08rem/1.18 Georgia,serif}.oytpl p{line-height:1.55;margin:.35em 0 1em}.oytpl .tpl-muted{color:var(--muted)}
.oytpl .tpl-subnav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}.oytpl .tpl-subnav .tpl-shell{display:flex;gap:8px;align-items:center;overflow:auto;padding:9px 0}.oytpl .tpl-subnav a{white-space:nowrap;text-decoration:none;padding:8px 11px;border-radius:999px;font-weight:700;font-size:.86rem;color:var(--navy)}.oytpl .tpl-subnav a.active,.oytpl .tpl-subnav a:hover{background:var(--navy);color:#fff}
.oytpl .tpl-hero{background:linear-gradient(135deg,#fff 0,#faf7ed 50%,#eaf5f4 100%);border-bottom:1px solid var(--line)}.oytpl .tpl-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:26px;align-items:center;padding:30px 0}.oytpl .tpl-hero-art{border:1px solid #d8d7d0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 34px rgba(13,53,84,.08)}.oytpl .tpl-hero-art img{width:100%;aspect-ratio:16/9;object-fit:cover}.oytpl .tpl-deck{font-size:1.08rem;color:#445462;max-width:68ch}.oytpl .tpl-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.oytpl .tpl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid var(--navy);border-radius:7px;padding:10px 16px;font-weight:800;background:var(--navy);color:#fff}.oytpl .tpl-btn.alt{background:#fff;color:var(--navy)}.oytpl .tpl-btn.red{background:var(--red);border-color:var(--red)}
.oytpl .tpl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.oytpl .tpl-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.oytpl .tpl-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.oytpl .tpl-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 5px 14px rgba(13,53,84,.04)}.oytpl .tpl-card .pad{padding:14px}.oytpl .tpl-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.oytpl .tpl-card small{display:block;color:var(--teal);font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.oytpl .tpl-card a{text-decoration:none}.oytpl .tpl-card.compact{display:grid;grid-template-columns:100px 1fr}.oytpl .tpl-card.compact img{height:100%;aspect-ratio:auto}.oytpl .tpl-card.compact .pad{padding:10px 12px}
.oytpl .tpl-rail-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 245px;gap:18px}.oytpl .tpl-side{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px;align-self:start}.oytpl .tpl-side h3{font-size:1rem}.oytpl .tpl-side a{display:block;padding:8px 0;border-bottom:1px solid #edf0f1;text-decoration:none;font-size:.9rem}.oytpl .tpl-side a:last-child{border-bottom:0}.oytpl .tpl-story{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}.oytpl .tpl-story .leadimg{border-radius:10px;width:100%;max-height:430px;object-fit:cover;margin:14px 0 18px}.oytpl .tpl-story p{font-family:Georgia,serif;font-size:1.03rem;line-height:1.7}.oytpl .tpl-quote{margin:18px 0;padding:18px 22px;border-left:5px solid var(--gold);background:#fff8df;font:italic 1.12rem/1.5 Georgia,serif;color:#33495b}.oytpl .tpl-audio{display:flex;align-items:center;gap:12px;background:#e9f5fa;border-radius:12px;padding:14px;margin-top:18px}.oytpl .tpl-audio .play{width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:bold}
.oytpl .tpl-people{display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:12px}.oytpl .tpl-person{text-align:center}.oytpl .tpl-avatar{width:76px;height:76px;border-radius:50%;overflow:hidden;margin:0 auto 8px;background:linear-gradient(135deg,#cfe4e7,#f2d9b8);border:3px solid #fff;box-shadow:0 0 0 1px #cad5d8}.oytpl .tpl-avatar img{width:100%;height:100%;object-fit:cover}.oytpl .tpl-person strong{display:block;color:var(--navy)}.oytpl .tpl-person span{display:block;font-size:.76rem;color:var(--muted)}
.oytpl .tpl-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.oytpl .tpl-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #ccd7da;border-radius:999px;padding:7px 11px;background:#fff;font-size:.82rem;font-weight:700}.oytpl .tpl-chip.active{background:var(--teal);color:#fff;border-color:var(--teal)}
.oytpl .tpl-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.oytpl .tpl-sponsor{background:#fff8de;border:1px solid #e8cf78;border-radius:10px;padding:13px}.oytpl .tpl-sponsor:before{content:'SPONSORED';display:block;font-size:.68rem;font-weight:900;letter-spacing:.12em;color:#886612;margin-bottom:6px}.oytpl .tpl-alert{background:#fff4df;border:1px solid #e5bf67;border-radius:8px;padding:10px 13px;font-weight:700}.oytpl .tpl-statrow{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.oytpl .tpl-stat{background:#fff;border:1px solid var(--line);border-radius:9px;padding:11px}.oytpl .tpl-stat b{display:block;color:var(--navy)}.oytpl .tpl-stat span{font-size:.78rem;color:var(--muted)}
.oytpl .tpl-formgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.oytpl .tpl-field{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.oytpl .tpl-field label{display:block;font-weight:800;color:var(--navy);margin-bottom:7px}.oytpl .tpl-field input,.oytpl .tpl-field textarea,.oytpl .tpl-field select{width:100%;padding:10px;border:1px solid #cfd8da;border-radius:7px;background:#fff;font:inherit}.oytpl .tpl-big-number{font:700 2.4rem/1 Georgia,serif;color:var(--navy)}
.oytpl .tpl-rating{display:flex;gap:4px;color:#e7a51c;font-size:1.35rem}.oytpl .tpl-memory{padding:12px 0;border-bottom:1px solid #edf0f1;font:italic .92rem/1.5 Georgia,serif}.oytpl .tpl-memory:last-child{border:0}.oytpl .tpl-mapfake{min-height:280px;border-radius:12px;background:radial-gradient(circle at 55% 48%,rgba(12,126,132,.22) 0 8%,transparent 9%),linear-gradient(25deg,#e4eee9 25%,transparent 25%) 0 0/46px 46px,linear-gradient(-25deg,#f8f3df 25%,transparent 25%) 0 0/46px 46px,#eaf1ee;border:1px solid #cbd9d6;position:relative;overflow:hidden}.oytpl .tpl-mapfake:after{content:'Nearby options';position:absolute;right:14px;top:14px;background:#fff;padding:8px 10px;border-radius:7px;font-weight:800;color:var(--navy);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.oytpl .tpl-gameframe{background:#102f2e;border:8px solid #7a5a31;border-radius:34px;padding:22px;min-height:520px;position:relative;box-shadow:inset 0 0 0 5px #c59b5a,0 15px 34px rgba(0,0,0,.14)}.oytpl .tpl-table{height:430px;border-radius:50%;background:radial-gradient(circle,#18775f 0,#12664f 58%,#0b4c3c 100%);border:8px solid #a9763e;box-shadow:inset 0 0 50px rgba(0,0,0,.28);position:relative}.oytpl .tpl-cardhand{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:flex;gap:7px}.oytpl .tpl-playingcard{width:52px;height:76px;background:#fff;border-radius:6px;display:grid;place-items:center;font:700 1.15rem Georgia,serif;box-shadow:0 3px 8px rgba(0,0,0,.28)}.oytpl .tpl-player{position:absolute;background:#fff;border:3px solid #d8c08f;border-radius:50%;width:72px;height:72px;display:grid;place-items:center;text-align:center;font-weight:800;color:var(--navy)}.oytpl .p1{top:13px;left:calc(50% - 36px)}.oytpl .p2{left:18px;top:45%}.oytpl .p3{right:18px;top:45%}.oytpl .p4{bottom:12px;left:calc(50% - 36px)}
.oytpl .tpl-footer-action{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:14px}
.oytpl .tpl-note{font-size:.84rem;color:var(--muted)}
@media(max-width:900px){.oytpl .tpl-hero-grid,.oytpl .tpl-rail-layout{grid-template-columns:1fr}.oytpl .tpl-grid.four{grid-template-columns:repeat(2,1fr)}.oytpl .tpl-people{grid-template-columns:repeat(3,1fr)}.oytpl .tpl-statrow{grid-template-columns:repeat(2,1fr)}.oytpl .tpl-side{order:2}.oytpl .tpl-formgrid{grid-template-columns:1fr}}
@media(max-width:620px){.oytpl .tpl-shell{width:min(100% - 20px,1180px)}.oytpl .tpl-grid,.oytpl .tpl-grid.two,.oytpl .tpl-grid.four{grid-template-columns:1fr}.oytpl .tpl-people{grid-template-columns:repeat(2,1fr)}.oytpl .tpl-hero-grid{padding:20px 0}.oytpl .tpl-gameframe{padding:10px;border-width:5px;min-height:420px}.oytpl .tpl-table{height:360px}.oytpl .tpl-playingcard{width:40px;height:60px;font-size:.95rem}.oytpl .tpl-player{width:58px;height:58px;font-size:.75rem}.oytpl .tpl-footer-action{align-items:flex-start;flex-direction:column}}

/* v1.1 deployment additions */
.oytpl[data-template-id]{position:relative}
.oytpl .tpl-live-game{position:relative;min-height:650px;border:1px solid #d5d0c3;border-radius:18px;overflow:hidden;background:#0b2525;box-shadow:0 14px 30px rgba(0,0,0,.13)}
.oytpl .tpl-live-game iframe{display:block;width:100%;height:650px;border:0;background:#0b2525}
.oytpl .tpl-coming-soon{min-height:340px;display:grid;place-content:center;text-align:center;background:linear-gradient(135deg,#fff,#f6f0df)}
.oytpl .tpl-template-ready{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e9f4f3;color:#075a60;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
@media(max-width:760px){.oytpl .tpl-live-game,.oytpl .tpl-live-game iframe{min-height:560px;height:560px}}

/* Writer profiles v1 */
.oytpl .tpl-person{display:block;text-decoration:none;border-radius:12px;padding:6px}
.oytpl .tpl-person:hover,.oytpl .tpl-person:focus-visible{background:#fff;outline:2px solid var(--teal);outline-offset:2px}
.oytpl .writer-profile-avatar{width:112px;height:112px}
.oytpl .writer-profile-lead{max-width:360px;aspect-ratio:1/1;object-fit:cover;margin-left:auto;margin-right:auto}
.oytpl .writer-bio p{font-family:Georgia,serif;font-size:1.04rem;line-height:1.72}
.oytpl .writer-read-aloud button.play{border:0;cursor:pointer}
