/* ==========================================================================
   Just One — the coloring book app
   Every measurement here comes from the wireframe ("Just One Coloring App —
   Wireframe"): the kids' screens (1–11, G1–G6) and Mighty Oaks (MO1–MO3).
   ========================================================================== */
:root{
  --black:#070B16;--midnight:#0B1224;--cobalt:#132A6B;--deep:#0B1C4E;--blue:#2E5BEA;--cyan:#7FB0FF;--cyan-soft:#CFE1FF;
  --gold:#CBA054;--gold-hi:#E4C488;--bone:#F1EEE7;--white:#FFFFFF;--ink:#070B16;--ink-2:#4A5468;
  --line:#E4DED1;--shadow:#D9D3C5;--stage:#E9E4D8;--green:#2E6B3F;--red:#A00D25;
  --sora:'Sora',system-ui,sans-serif;--karla:'Karla',system-ui,sans-serif;
  --o-line:rgba(127,176,255,.16);--o-line2:rgba(127,176,255,.3);--o-text:#F1EEE7;--o-muted:rgba(241,238,231,.6);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
/* The coloring app is an app, not a page: no page zoom, no double-tap zoom, no pull-to-refresh.
   Pinch-zoom still works inside the picture and the drawing pad (the engine handles it). */
html{overscroll-behavior:none;touch-action:pan-x pan-y;-webkit-text-size-adjust:100%}
body{font-family:var(--karla);background:var(--bone);color:var(--ink);-webkit-font-smoothing:antialiased;overscroll-behavior:none}
body.oak{background:var(--black);color:var(--o-text)}
h1,h2,h3,p{margin:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
[hidden]{display:none!important}

/* round icon buttons used across the headers */
.rb{width:44px;height:44px;flex:none;border-radius:22px;border:2px solid var(--cyan);color:var(--bone);display:flex;align-items:center;justify-content:center;text-decoration:none}
.rb.solid{border:none;background:var(--blue);color:#fff}
.rb:disabled{opacity:.4;cursor:default}
.wm{font-family:var(--sora);font-weight:800;font-size:20px;letter-spacing:.02em;text-decoration:none;color:inherit}
.wm b{color:var(--gold)}
.wm small{font-weight:600;font-size:15px;color:var(--cyan)}

/* ===================================================== 1 · Library (kids) */
#jc-root{min-height:100%;display:flex;flex-direction:column}
#jc-root>*{flex-grow:1}
.k-screen{min-height:100%;display:flex;flex-direction:column}
.k-head{background:var(--cobalt);color:var(--bone);padding:20px 20px 22px;padding-top:max(20px,env(safe-area-inset-top));border-radius:0 0 28px 28px;display:flex;flex-direction:column;gap:14px}
.k-head > *{width:100%;max-width:1100px;margin-left:auto;margin-right:auto}
.k-head .row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.k-head h1{font-family:var(--sora);font-weight:700;font-size:26px;line-height:1.15}
.k-head .sub{font-size:14px;color:var(--cyan-soft);margin-top:-8px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{height:40px;padding:0 14px;border-radius:20px;border:2px solid var(--cyan);color:var(--bone);font-weight:700;font-size:14px}
.chip[aria-pressed="true"]{border-color:var(--gold);background:var(--gold);color:var(--ink);font-weight:800}
.k-main{padding:18px 20px 24px;display:flex;flex-direction:column;gap:18px;flex-grow:1;width:100%;max-width:1100px;margin:0 auto}
.keep{text-decoration:none;color:inherit;background:#fff;border-radius:24px;padding:14px;display:flex;gap:14px;align-items:center;box-shadow:0 3px 0 var(--shadow)}
.keep .th{width:84px;height:108px;flex:none;border-radius:12px;border:2px solid var(--line);overflow:hidden;position:relative;background:#fff}
.keep .tx{display:flex;flex-direction:column;gap:6px;flex-grow:1;min-width:0}
.keep .k{font-size:13px;font-weight:700;color:var(--green);letter-spacing:.08em;text-transform:uppercase}
.keep .t{font-family:var(--sora);font-weight:700;font-size:19px}
.keep .m{font-size:14px;color:var(--ink-2)}
.keep .go{width:52px;height:52px;flex:none;border-radius:26px;background:var(--blue);display:flex;align-items:center;justify-content:center;color:#fff}
.sec-h{display:flex;align-items:baseline;justify-content:space-between}
.sec-h h2{font-family:var(--sora);font-weight:800;font-size:20px}
.sec-h span{font-size:14px;color:var(--ink-2)}
.shelf-h{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.shelf-h i{width:14px;height:14px;border-radius:4px;background:var(--sh)}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(min-width:700px){.tiles{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:1000px){.tiles{grid-template-columns:repeat(6,minmax(0,1fr))}}
.tile{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:6px}
.tile .cv{height:136px;border-radius:16px;background:var(--cobalt);border-top:12px solid var(--sh);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--bone);text-align:center;padding:0 4px}
.tile .cv b{font-family:var(--sora);font-weight:800;font-size:17px;line-height:1.1}
.tile .cv small{font-size:12px;color:var(--cyan)}
.tile.soon .cv{background:var(--shadow);color:var(--ink-2)}
.tile .bar{height:8px;border-radius:4px;background:var(--line)}
.tile .bar i{display:block;height:8px;border-radius:4px;background:var(--gold)}
.tile .n{font-size:13px;color:var(--ink-2)}
.tile.mini .cv{height:60px;border-top-width:10px}
.tile.mini .cv b{font-size:11px;font-weight:700;color:var(--ink-2)}
.note-dashed{padding:12px 14px;border-radius:16px;background:#fff;border:2px dashed var(--shadow);font-size:13px;line-height:1.5;color:var(--ink-2)}
.gate{background:#fff;border:2px solid var(--gold);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:10px}
.gate h2{font-family:var(--sora);font-size:19px}
.gate p{color:var(--ink-2);line-height:1.5}
.gate .big-blue{height:50px;font-size:16px}

/* bottom bar */
.k-nav{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));padding:8px 8px max(22px,env(safe-area-inset-bottom));z-index:5}
.k-nav a,.k-nav button{text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ink-2);font-weight:700;font-size:12px;min-height:48px;position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.k-nav [aria-current="page"]{color:var(--cobalt);font-weight:800}
.hold-ring{position:absolute;top:-2px;left:50%;margin-left:-18px;width:36px;height:36px;pointer-events:none;opacity:0}
.holding .hold-ring{opacity:1}
.hold-ring circle{fill:none;stroke:var(--gold);stroke-width:3;stroke-dasharray:101;stroke-dashoffset:101;transform:rotate(-90deg);transform-origin:50% 50%}
.holding .hold-ring circle{transition:stroke-dashoffset 3s linear;stroke-dashoffset:0}
.kidsbar{background:var(--green);color:#fff;padding:8px 16px;padding-top:max(8px,env(safe-area-inset-top));display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}
.sheep-tile{width:44px;height:44px;border-radius:14px;background:#F2C94C;display:flex;align-items:center;justify-content:center}

/* ========================================================== 2 · A book */
.b-head{background:var(--cobalt);border-top:10px solid var(--sh,var(--green));color:var(--bone);padding:14px 20px 22px;border-radius:0 0 28px 28px;display:flex;flex-direction:column;gap:10px}
.b-head > *{width:100%;max-width:1100px;margin-left:auto;margin-right:auto}
.b-head .row{display:flex;align-items:center;gap:12px}
.b-head .row > div{display:flex;flex-direction:column}
.b-head .kick2{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}
.b-head h1{font-family:var(--sora);font-weight:800;font-size:26px}
.prog{display:flex;align-items:center;gap:10px}
.prog .bar{flex-grow:1;height:12px;border-radius:6px;background:var(--deep)}
.prog .bar i{display:block;height:12px;border-radius:6px;background:var(--gold)}
.prog span{font-weight:700;font-size:14px}
.filters{padding:16px 20px;display:flex;gap:8px;flex-wrap:wrap;max-width:1100px;margin:0 auto;width:100%}
.filters button{height:40px;padding:0 16px;border-radius:20px;border:2px solid var(--cobalt);background:#fff;color:var(--cobalt);font-weight:700;font-size:14px}
.filters button[aria-pressed="true"]{background:var(--cobalt);color:#fff;font-weight:800}
.scenes{padding:0 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:1100px;margin:0 auto;width:100%}
@media(min-width:700px){.scenes{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1100px){.scenes{grid-template-columns:repeat(5,minmax(0,1fr))}}
.scene{text-decoration:none;color:inherit;background:#fff;border-radius:18px;padding:8px;display:flex;flex-direction:column;gap:6px;box-shadow:0 3px 0 var(--shadow);border:3px solid transparent}
.scene.cur{border-color:var(--gold);box-shadow:none}
.scene .im{position:relative;height:150px;border-radius:12px;overflow:hidden;background:#fff}
.scene .ok{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:15px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;z-index:2}
.scene b{font-weight:800;font-size:14px}
.scene small{font-size:12px;color:var(--ink-2)}
.scene.cur small{color:#7A5A1E;font-weight:700}
.empty{grid-column:1 / -1;padding:24px;text-align:center;color:var(--ink-2)}
.b-foot{padding:14px 20px 26px;max-width:1100px;margin:0 auto;width:100%;position:sticky;bottom:0;background:linear-gradient(rgba(241,238,231,0),var(--bone) 30%)}
.big-blue{text-decoration:none;height:56px;border-radius:28px;background:var(--blue);color:#fff;font-family:var(--sora);font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center;gap:10px}

/* a page as a picture: coloring under the line art */
.th{position:relative;display:block;overflow:hidden}
.scene .im .th,.peek .th{position:absolute;inset:0}
.th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.th img.ar{mix-blend-mode:multiply}

/* ====================================================== 3 · Coloring (phone) */
.c-app{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bone);overflow:hidden}
.c-head{background:var(--cobalt);color:var(--bone);padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top));display:flex;align-items:center;gap:10px;flex:none}
.c-head .tt{display:flex;flex-direction:column;flex-grow:1;min-width:0}
.c-head .tt b{font-family:var(--sora);font-weight:700;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-head .tt span{font-size:12px;color:var(--cyan)}
.c-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;gap:8px;flex:none}
.lines-pill{height:40px;padding:0 14px 0 6px;border-radius:20px;background:var(--green);color:#fff;display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;position:relative}
.lines-pill .ck{width:30px;height:30px;border-radius:15px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--green)}
.lines-pill.off{background:#fff;color:var(--ink-2);box-shadow:inset 0 0 0 2px var(--line)}
.lines-pill.off .ck{background:var(--line);color:transparent}
.out-btn{height:40px;padding:0 14px;border-radius:20px;border:2px solid var(--cobalt);background:#fff;color:var(--cobalt);font-weight:700;font-size:14px}
.c-card{margin:0 14px;background:#fff;border-radius:18px;padding:6px;box-shadow:0 3px 0 var(--shadow);flex:1 1 auto;min-height:0;display:flex}
.stage{position:relative;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;flex:1 1 auto;min-width:0;min-height:0}
.jc-sheet{position:absolute;left:0;top:0;transform-origin:0 0;background:#fff;overflow:visible}
.jc-sheet canvas,.jc-sheet img.jc-art{position:absolute;inset:0;width:100%;height:100%;display:block}
.jc-sheet img.jc-art{mix-blend-mode:multiply;pointer-events:none}
.jc-stickers{position:absolute;inset:0;overflow:visible}
.jc-stk{position:absolute;touch-action:none;cursor:grab}
.jc-stk svg{display:block;width:100%;height:auto;pointer-events:none}
.jc-stk.on{outline:2px dashed var(--blue);outline-offset:4px;border-radius:8px}
.jc-stk-x,.jc-stk-turn{position:absolute;width:32px;height:32px;border-radius:16px;border:2px solid #fff;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;line-height:1;z-index:2}
.jc-stk-x{top:-22px;right:-22px;background:#C8102E}
.jc-stk-turn{bottom:-22px;right:-22px;background:var(--blue);touch-action:none}
.c-turns{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;flex:none}
.pill-btn{height:44px;padding:0 16px;border-radius:22px;border:2px solid var(--cobalt);background:#fff;color:var(--cobalt);font-weight:800;font-size:14px}
.pill-btn:disabled{opacity:.35;cursor:default}
.c-turns span{font-weight:700;font-size:14px;color:var(--ink-2)}
.c-tray{background:#fff;border-radius:28px 28px 0 0;box-shadow:0 -2px 0 var(--line);padding:12px 12px max(22px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;flex:none}
.sw-row{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 6px}
.sw-row::-webkit-scrollbar{display:none}
.wheel-btn{width:44px;height:44px;border-radius:22px;flex-shrink:0;background:conic-gradient(#E5484D,#F2C94C,#6FCF97,#56A0F5,#9B6BDF,#E5484D);border:3px solid #fff;box-shadow:0 0 0 2px var(--cobalt)}
.sw{width:36px;height:36px;border-radius:18px;flex:none}
.sw.white{box-shadow:inset 0 0 0 2px var(--shadow)}
.sw[aria-pressed="true"]{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--cobalt)}
.tools6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.tool{height:62px;border-radius:16px;background:var(--bone);color:var(--cobalt);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-weight:700;font-size:11px}
.tool[aria-pressed="true"]{background:var(--cobalt);color:#fff;font-weight:800}
.simple .tools6 .tool{height:72px;font-size:12px}
.simple .sw{width:44px;height:44px;border-radius:22px}

/* sheets: Pick a tool, Pick a color, Stickers */
.sheet-wrap{position:fixed;inset:0;z-index:30;background:rgba(75,82,99,.94);display:flex;flex-direction:column}
.sheet-wrap .peek{flex:none;display:flex;justify-content:center;align-items:flex-end;padding-bottom:10px;height:150px}
.sheet-wrap .peek .th{width:120px;height:140px;border-radius:12px;overflow:hidden;opacity:.6;background:#fff}
.sheet-wrap.pal .peek{height:110px}
.sheet-wrap.pal .peek .th{display:none}
.sheet{flex-grow:1;background:#fff;border-radius:28px 28px 0 0;padding:10px 18px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;overflow-y:auto;max-width:560px;width:100%;margin:0 auto;color:var(--ink)}
.grab{align-self:center;width:48px;height:6px;border-radius:3px;background:var(--shadow);flex:none}
.sheet-h{display:flex;align-items:center;justify-content:space-between}
.sheet-h h2{font-family:var(--sora);font-weight:800;font-size:22px}
.done{height:40px;padding:0 16px;border-radius:20px;background:var(--blue);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;text-decoration:none}
.brushes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.brushes button{height:92px;border-radius:18px;border:2px solid var(--line);background:#fff;font-weight:700;font-size:13px;color:var(--cobalt);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.brushes button[aria-pressed="true"]{border:3px solid var(--cobalt);background:#EAF0FF;font-weight:800}
.knobs{display:flex;flex-direction:column;gap:12px;background:var(--bone);border-radius:20px;padding:14px 16px}
.knobs label{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:14px}
.knobs label > span{display:flex;justify-content:space-between}
.knobs label > span i{font-style:normal;font-weight:600;color:var(--ink-2)}
.knobs input[type=range]{width:100%;accent-color:var(--cobalt)}
.knobs .tog{flex-direction:row;align-items:center;justify-content:space-between;gap:10px;min-height:44px}
.knobs .tog > span{flex-direction:column;gap:2px;justify-content:flex-start}
.knobs .tog small{font-weight:500;font-size:12px;color:var(--ink-2)}
.knobs .tog input{width:26px;height:26px;accent-color:var(--green)}
.wheel-box{display:flex;justify-content:center;position:relative;height:230px;flex:none}
.wheel{width:230px;height:230px;border-radius:115px;background:conic-gradient(from 0deg,hsl(0,88%,50%) 0deg,hsl(30,88%,50%) 30deg,hsl(60,88%,50%) 60deg,hsl(90,88%,50%) 90deg,hsl(120,88%,50%) 120deg,hsl(150,88%,50%) 150deg,hsl(180,88%,50%) 180deg,hsl(210,88%,50%) 210deg,hsl(240,88%,50%) 240deg,hsl(270,88%,50%) 270deg,hsl(300,88%,50%) 300deg,hsl(330,88%,50%) 330deg,hsl(360,88%,50%) 360deg);touch-action:none;cursor:crosshair}
.wheel-mid{position:absolute;top:65px;left:50%;margin-left:-50px;width:100px;height:100px;border-radius:50px;background:#fff;display:flex;align-items:center;justify-content:center;pointer-events:none}
.wheel-mid i{width:76px;height:76px;border-radius:38px;border:3px solid var(--cobalt)}
.wheel-dot{position:absolute;width:34px;height:34px;border-radius:17px;border:4px solid #fff;box-shadow:0 0 0 2px var(--cobalt);pointer-events:none;margin:-17px 0 0 -17px}
.light{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:14px}
.light input{width:100%;height:22px;-webkit-appearance:none;appearance:none;border-radius:11px;border:2px solid var(--line);background:linear-gradient(90deg,#fff,var(--hue,#F2C94C),#111)}
.light input::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:13px;background:#fff;border:3px solid var(--cobalt)}
.light input::-moz-range-thumb{width:22px;height:22px;border-radius:11px;background:#fff;border:3px solid var(--cobalt)}
.pal-row{display:flex;flex-direction:column;gap:8px}
.pal-row > span{font-weight:800;font-size:14px}
.pal-row .r{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pal-row .r .sw{width:40px;height:40px;border-radius:20px}
.pal-row .r em{font-style:normal;font-size:13px;color:var(--ink-2)}
.add-c{width:40px;height:40px;border-radius:20px;border:2px dashed var(--cobalt);background:#fff;color:var(--cobalt);font-size:22px;font-weight:800}
.st-wrap{background:var(--bone)}
.st-wrap .page-peek{position:relative;margin:14px 14px 0;margin-top:max(14px,env(safe-area-inset-top));background:#fff;border-radius:18px;padding:6px;display:flex;box-shadow:0 3px 0 var(--shadow);flex:1 1 auto;min-height:0}
.st-wrap .hint{margin:8px 20px 0;font-size:13px;color:var(--ink-2);text-align:center;flex:none}
.st-wrap .sheet{flex:none;box-shadow:0 -2px 0 var(--line);margin-top:10px;max-height:46vh}
.st-cats{display:flex;gap:8px;flex-wrap:wrap}
.st-cats button{height:38px;padding:0 14px;border-radius:19px;border:2px solid var(--cobalt);background:#fff;color:var(--cobalt);font-weight:700;font-size:13px}
.st-cats button[aria-pressed="true"]{border-color:var(--cobalt);background:var(--cobalt);color:#fff;font-weight:800}
.st-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.st-grid button{height:76px;border-radius:16px;border:2px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;padding:6px}
.st-grid button svg{width:100%;height:100%}

/* ===================================================== 7 · Grown-up settings */
.g-head{background:var(--cobalt);color:var(--bone);padding:14px 18px 20px;padding-top:max(14px,env(safe-area-inset-top));border-radius:0 0 28px 28px;display:flex;flex-direction:column;gap:6px}
.g-head > *{width:100%;max-width:600px;margin-left:auto;margin-right:auto}
.g-head .row{display:flex;align-items:center;gap:12px}
.g-head h1{font-family:var(--sora);font-weight:800;font-size:22px}
.g-head > span{font-size:13px;color:var(--cyan-soft)}
.g-body{padding:16px 18px 24px;display:flex;flex-direction:column;gap:14px;max-width:600px;margin:0 auto;width:100%}
.card{background:#fff;border-radius:22px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 3px 0 var(--shadow)}
.card.list{padding:6px 16px;gap:0}
.trow{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;border-bottom:1px solid var(--line)}
.trow:last-child{border-bottom:0}
.trow > span{display:flex;flex-direction:column}
.trow b{font-weight:800;font-size:15px}
.trow small{font-size:12px;color:var(--ink-2)}
.trow input{width:26px;height:26px;accent-color:var(--green);flex:none}
.trow select{font:inherit;font-weight:800;font-size:14px;color:var(--cobalt);border:0;background:none;text-align:right}
.big-t{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.big-t > span{display:flex;flex-direction:column;gap:2px}
.big-t b{font-family:var(--sora);font-weight:800;font-size:17px}
.big-t small{font-size:13px;color:var(--ink-2)}
.big-t input{width:28px;height:28px;accent-color:var(--green);flex-shrink:0}
.demo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.demo div{display:flex;flex-direction:column;gap:6px;align-items:center}
.demo svg{width:100%;max-width:140px;height:auto}
.demo span{font-size:13px;font-weight:700;color:var(--ink-2);text-align:center}
.demo div:last-child span{color:var(--green)}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.out-big{height:52px;border-radius:26px;border:2px solid var(--cobalt);background:#fff;color:var(--cobalt);font-weight:800;font-size:15px}
.out-big.red{border-color:var(--red);color:var(--red)}

/* =========================================== 8 · Tablet and desktop: the spread */
.d-app{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--stage);overflow:hidden}
.d-head{background:var(--cobalt);color:var(--bone);padding:10px 20px;padding-top:max(10px,env(safe-area-inset-top));display:flex;align-items:center;gap:14px;flex:none}
.d-head .tt{display:flex;align-items:center;gap:10px;flex-grow:1;min-width:0}
.d-head .tt i{width:10px;height:26px;border-radius:3px;background:var(--sh,var(--green));flex:none}
.d-head .tt b{font-family:var(--sora);font-weight:700;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.d-head .tt span{font-size:14px;color:var(--cyan);white-space:nowrap}
.d-head .pg{font-weight:700;font-size:14px;color:var(--cyan-soft);white-space:nowrap}
.d-body{display:flex;gap:16px;padding:14px 16px;flex:1 1 auto;min-height:0}
.d-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center}
.spread{display:flex;background:#fff;border-radius:14px;box-shadow:0 6px 0 #CFC7B6,0 0 0 1px var(--shadow);overflow:hidden;flex:none}
.spread .stage{flex:1 1 50%}
.spread .stage + .stage{border-left:2px solid var(--line)}
.d-turns{display:flex;align-items:center;gap:14px;flex:none}
.d-turns .pill-btn{height:46px;padding:0 20px;font-size:15px}
.d-turns span{font-size:13px;color:var(--ink-2)}
.d-aside{flex:0 0 clamp(260px,22vw,290px);background:#fff;border-radius:24px;padding:14px;display:flex;flex-direction:column;gap:14px;box-shadow:0 3px 0 var(--shadow);overflow-y:auto}
.tuck-pill{text-decoration:none;height:48px;border-radius:24px;background:var(--cobalt);color:var(--bone);display:flex;align-items:center;gap:10px;padding:0 14px 0 6px;font-weight:800;font-size:14px;flex:none}
.tuck-pill span{width:38px;height:38px;border-radius:19px;background:var(--bone);display:flex;align-items:center;justify-content:center}
.chk-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:0 4px;font-weight:800;font-size:14px}
.chk-row.green{color:var(--green)}
.chk-row input{width:26px;height:26px;accent-color:var(--green)}
.tools3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.tools3 .tool{height:64px;border-radius:14px}
.link-sm{font-size:13px;font-weight:700;color:var(--cobalt);text-align:left;text-decoration:underline}
.wheel-row{display:flex;align-items:center;gap:12px}
.wheel-big{width:64px;height:64px;border-radius:32px;flex-shrink:0;background:conic-gradient(#E5484D,#F2994A,#F2C94C,#6FCF97,#2EC4B6,#56A0F5,#2E5BEA,#9B6BDF,#D4537E,#E5484D);display:flex;align-items:center;justify-content:center}
.wheel-big i{width:28px;height:28px;border-radius:14px;border:4px solid #fff}
.sw8{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;flex-grow:1}
.sw8 button{aspect-ratio:1;border-radius:50%}
.sw8 button[aria-pressed="true"]{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--cobalt)}
.rng{display:flex;flex-direction:column;gap:4px;font-weight:800;font-size:13px}
.rng input{accent-color:var(--cobalt)}
.aside-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}
.gold-btn{text-decoration:none;height:46px;border-radius:23px;background:var(--gold);color:var(--ink);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.aside-foot .pill-btn{height:46px;border-radius:23px}

/* 9 · tucked into the sheep */
.d-app.tucked .d-head{background:transparent;color:var(--cobalt);height:52px;padding:0 14px}
.d-app.tucked .d-head .rb{border:none;color:var(--cobalt)}
.d-app.tucked .d-head .tt b{font-size:15px}
.d-app.tucked .d-head .tt i,.d-app.tucked .d-head .tt span{display:none}
.d-app.tucked .d-head .pg{color:var(--ink-2);font-size:13px}
.d-app.tucked .d-aside,.d-app.tucked .d-turns{display:none}
.d-app.tucked .d-body{padding:0 8px 14px;gap:8px}
.d-app.tucked .side-turn{align-self:center}
.side-turn{display:none;width:44px;height:88px;border-radius:22px;background:rgba(19,42,107,.08);color:var(--cobalt);font-size:26px;font-weight:800;flex-shrink:0}
.side-turn:disabled{opacity:.3}
.d-app.tucked .side-turn{display:block}
.pendant-wrap{position:fixed;right:26px;bottom:26px;display:none;align-items:center;gap:12px;z-index:10}
.d-app.tucked .pendant-wrap{display:flex}
.pendant-wrap .tip{background:var(--cobalt);color:var(--bone);font-weight:700;font-size:13px;padding:8px 14px;border-radius:16px}
.pendant{position:relative;width:92px;height:92px;border-radius:46px;background:var(--bone);box-shadow:0 0 0 5px var(--gold),0 8px 18px rgba(7,11,22,.28);display:flex;align-items:center;justify-content:center}
.pendant .cd{position:absolute;right:-4px;bottom:-4px;width:30px;height:30px;border-radius:15px;border:4px solid #fff;box-shadow:0 0 0 1px var(--shadow)}
.pendant .td{position:absolute;left:-6px;top:-6px;width:32px;height:32px;border-radius:16px;background:var(--cobalt);color:#fff;display:flex;align-items:center;justify-content:center;border:3px solid #fff}

/* ============================================ 10–11 · Phone turned sideways */
.w-app{position:fixed;inset:0;display:flex;background:var(--stage);overflow:hidden}
.w-nav{width:64px;flex-shrink:0;padding:10px 0;padding-left:env(safe-area-inset-left);display:flex;flex-direction:column;align-items:center;gap:10px;box-sizing:content-box}
.w-nav .rb{background:var(--cobalt);border:none;color:var(--bone)}
.circ{width:44px;height:44px;border-radius:22px;border:2px solid var(--cobalt);background:#fff;color:var(--cobalt);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;flex:none}
.circ[aria-pressed="true"]{background:var(--cobalt);color:#fff}
.circ:disabled{opacity:.35}
.w-nav .pgn{margin-top:auto;font-size:12px;font-weight:800;color:var(--ink-2);text-align:center;line-height:1.2}
.w-main{flex:1 1 auto;min-width:0;display:flex;padding:8px 0}
.w-aside{width:236px;flex-shrink:0;background:#fff;border-radius:22px 0 0 22px;padding:10px;padding-right:max(10px,env(safe-area-inset-right));display:flex;flex-direction:column;gap:8px;box-shadow:-2px 0 0 var(--shadow);overflow-y:auto;box-sizing:content-box}
.w-top{display:flex;gap:6px}
.sheep-btn{width:44px;height:44px;border-radius:22px;flex-shrink:0;background:var(--bone);box-shadow:0 0 0 3px var(--gold);display:flex;align-items:center;justify-content:center}
.lines-mini{flex-grow:1;height:44px;border-radius:22px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;text-align:center;line-height:1.1;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.lines-mini.off{background:var(--bone);color:var(--ink-2)}
.tools4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.tools4 .tool{height:48px;border-radius:12px;font-size:0;gap:0}
.tools4 .tool.more{font-size:18px;font-weight:800}
.w-sw{display:flex;align-items:center;gap:6px}
.w-sw .sw8{gap:5px}
.w-size{display:flex;align-items:center;gap:8px;font-weight:800;font-size:12px;margin-top:auto}
.w-size input{flex-grow:1;accent-color:var(--cobalt)}
.w-app.tucked .w-nav,.w-app.tucked .w-aside{display:none}
.w-app.tucked .w-main{padding:4px 62px}
.float{position:fixed;width:44px;height:44px;border-radius:22px;background:rgba(19,42,107,.1);color:var(--cobalt);display:none;align-items:center;justify-content:center;font-size:24px;font-weight:800;z-index:6;text-decoration:none}
.w-app.tucked .float{display:flex}
.float.back{left:10px;top:10px}
.float.prev{left:10px;top:50%;height:70px;margin-top:-35px}
.float.next{right:10px;top:50%;height:70px;margin-top:-35px}
.w-hint{position:fixed;left:50%;bottom:8px;transform:translateX(-50%);background:rgba(7,11,22,.7);color:var(--bone);font-size:12px;font-weight:700;padding:5px 12px;border-radius:12px;display:none;z-index:6;white-space:nowrap}
.w-app.tucked .w-hint{display:block}
.w-app .pendant-wrap{right:18px;bottom:18px}
.w-app.tucked .pendant-wrap{display:flex}
.w-app .pendant{width:64px;height:64px;box-shadow:0 0 0 4px var(--gold),0 6px 14px rgba(7,11,22,.3)}
.w-app .pendant .cd{width:22px;height:22px;border-width:3px;right:-3px;bottom:-3px}
.w-app .pendant .td{display:none}
.w-app .pendant-wrap .tip{display:none}

/* ========================================================= Mighty Oaks (16+) */
.oak .rb{border:1px solid var(--o-line2);color:var(--o-text)}
.o-head{position:relative;padding:18px 20px 26px;padding-top:max(18px,env(safe-area-inset-top));border-bottom:1px solid var(--o-line);overflow:hidden}
.o-head .facets{position:absolute;left:0;top:0;width:100%;height:230px}
.o-head .in{position:relative;display:flex;flex-direction:column;gap:12px;max-width:1100px;margin:0 auto}
.o-head .row{display:flex;align-items:center;justify-content:space-between}
.o-head .wm{font-size:18px}
.o-head .acct{background:rgba(7,11,22,.5)}
.kick{font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--cyan)}
.o-head h1{font-family:var(--sora);font-weight:800;font-size:34px;line-height:1;letter-spacing:-.02em}
.o-head h1 b{color:var(--gold)}
.o-head p{font-size:15px;line-height:1.5;color:rgba(241,238,231,.72)}
.o-main{padding:18px 20px;display:flex;flex-direction:column;gap:18px;flex-grow:1;width:100%;max-width:1100px;margin:0 auto}
.o-cont{text-decoration:none;color:inherit;display:flex;gap:14px;align-items:center;padding:12px;border:1px solid var(--o-line);border-radius:14px;background:var(--midnight)}
.o-cont .th{width:76px;height:98px;flex:none;border-radius:6px;overflow:hidden;background:#fff}
.o-cont .tx{display:flex;flex-direction:column;gap:4px;flex-grow:1}
.o-cont .k{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan)}
.o-cont .t{font-family:var(--sora);font-weight:700;font-size:17px}
.o-cont .m{font-size:13px;color:var(--o-muted)}
.o-cont .ar2{font-size:22px;color:var(--gold)}
.o-sec{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--o-line);padding-bottom:8px}
.o-sec h2{font-family:var(--sora);font-weight:700;font-size:18px}
.o-sec span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(241,238,231,.5)}
.o-book{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:10px}
.o-book .strip{display:flex;gap:6px}
.o-book .strip .th{width:25%;height:108px;border-radius:6px;overflow:hidden;background:#fff}
.o-book .row{display:flex;align-items:center;justify-content:space-between}
.o-book .row b{font-family:var(--sora);font-weight:800;font-size:22px}
.o-book .row span{font-size:13px;color:var(--o-muted)}
.o-book .line{height:3px;background:var(--o-line)}
.o-book .line i{display:block;height:3px;background:var(--gold)}
.o-soon > div{display:flex;justify-content:space-between;padding:14px 0;border-top:1px solid var(--o-line);color:rgba(241,238,231,.45)}
.o-soon b{font-family:var(--sora);font-weight:700;font-size:16px}
.o-soon span{font-size:13px}
.o-nav{position:sticky;bottom:0;border-top:1px solid var(--o-line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:6px 8px max(20px,env(safe-area-inset-bottom));background:var(--midnight);z-index:5}
.o-nav a,.o-nav button{text-decoration:none;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:rgba(241,238,231,.55);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.o-nav [aria-current="page"]{color:var(--o-text)}
.oak .b-head{background:var(--midnight);border-top:4px solid var(--sh,var(--gold));border-radius:0;border-bottom:1px solid var(--o-line)}
.oak .b-head .rb{border:1px solid var(--o-line2)}
.oak .prog .bar{height:3px;background:var(--o-line)}
.oak .prog .bar i{height:3px}
.oak .filters button{border:1px solid var(--o-line2);background:transparent;color:rgba(241,238,231,.7);border-radius:4px;letter-spacing:.12em;text-transform:uppercase;font-size:12px;height:36px}
.oak .filters button[aria-pressed="true"]{border-color:var(--gold);color:var(--gold-hi);background:transparent}
.oak .scene{background:var(--midnight);border:1px solid var(--o-line);box-shadow:none;border-radius:8px}
.oak .scene.cur{border-color:var(--gold)}
.oak .scene small{color:var(--o-muted)}
.oak .scene.cur small{color:var(--gold-hi)}
.oak .b-foot{background:linear-gradient(rgba(7,11,22,0),var(--black) 30%)}
.oak .big-blue{border-radius:4px;background:var(--bone);color:var(--black);font-size:15px;letter-spacing:.06em}

/* Mighty Oaks coloring: phone (MO2) */
.oak .c-app{background:var(--black)}
.oak .c-head{background:transparent;border-bottom:1px solid var(--o-line);padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top))}
.oak .c-head .tt span{order:-1;font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan)}
.o-tabs{display:flex;gap:8px;padding:10px 14px;flex:none}
.o-tabs button,.o-btn{height:36px;padding:0 12px;border-radius:4px;border:1px solid var(--o-line2);color:rgba(241,238,231,.7);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.o-tabs button[aria-pressed="true"]{border-color:var(--gold);color:var(--gold-hi)}
.oak .c-card{background:transparent;box-shadow:none;padding:0}
.o-tray{padding:10px 14px max(22px,env(safe-area-inset-bottom));border-top:1px solid var(--o-line);background:var(--midnight);display:flex;flex-direction:column;gap:10px;flex:none}
.o-pal{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.o-pal .lb{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(241,238,231,.5);width:48px}
.o-pal .sw{width:30px;height:30px;border-radius:15px}
.o-pal .sw[aria-pressed="true"]{box-shadow:0 0 0 2px var(--midnight),0 0 0 3px var(--gold)}
.o-pal .wheel-btn{width:30px;height:30px;border:none;box-shadow:none}
.o-tools{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.o-tool{height:54px;border-radius:6px;border:1px solid rgba(127,176,255,.2);color:var(--o-text);font-weight:700;font-size:10px;letter-spacing:.08em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.o-tool[aria-pressed="true"]{border-color:var(--gold);background:rgba(203,160,84,.1);color:var(--gold-hi)}
.o-knobs{display:flex;align-items:center;justify-content:space-between;gap:10px}
.o-knobs label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:rgba(241,238,231,.8);min-height:44px}
.o-knobs label:first-child{flex-grow:1}
.o-knobs input[type=range]{flex-grow:1;accent-color:var(--gold)}
.o-knobs input[type=checkbox]{width:20px;height:20px;accent-color:var(--gold)}
.o-journal{flex:1 1 auto;display:flex;flex-direction:column;gap:12px;padding:6px 14px 14px;min-height:0;overflow:auto}
.o-journal label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);flex:1}
.o-journal textarea{min-height:200px;flex:1;border-radius:6px;border:1px solid var(--o-line2);background:var(--midnight);color:var(--o-text);font:inherit;font-size:16px;line-height:1.6;padding:12px;letter-spacing:0;text-transform:none}
.o-journal small{color:var(--o-muted);font-size:12px}

/* Mighty Oaks on tablet and desktop (MO3) */
.oak .d-app{background:var(--black)}
.oak .d-head{background:var(--midnight);border-bottom:1px solid var(--o-line);padding:12px 22px;gap:18px}
.oak .d-head .wm{font-size:18px}
.oak .d-head .tt{flex-direction:column;align-items:flex-start;gap:0}
.oak .d-head .tt i{display:none}
.oak .d-head .tt span{order:-1;font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--cyan)}
.oak .d-head .pg{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:rgba(241,238,231,.55);font-weight:400}
.oak .spread{border-radius:4px;box-shadow:0 0 0 1px rgba(127,176,255,.25),0 20px 50px rgba(0,0,0,.5)}
.oak .spread .stage + .stage{border-left:1px solid var(--shadow)}
.oak .d-turns .o-btn{height:44px;padding:0 18px;font-size:13px;letter-spacing:.14em;color:var(--o-text);border-color:rgba(127,176,255,.35)}
.oak .d-turns span{color:rgba(241,238,231,.5)}
.oak .d-aside{border:1px solid var(--o-line);border-radius:8px;background:var(--midnight);padding:16px;gap:16px;box-shadow:none;color:var(--o-text)}
.o-hide{text-decoration:none;display:flex;align-items:center;gap:10px;height:46px;padding:0 12px 0 4px;border:1px solid var(--o-line2);border-radius:23px;color:var(--o-text);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;flex:none}
.o-hide span{width:38px;height:38px;border-radius:19px;background:var(--black);box-shadow:0 0 0 2px var(--gold);display:flex;align-items:center;justify-content:center}
.o-grp{display:flex;flex-direction:column;gap:8px}
.o-grp > .kick{font-size:11px}
.o-grp .o-tools{grid-template-columns:repeat(3,minmax(0,1fr))}
.o-grp .o-tool{height:58px;font-size:11px;letter-spacing:.1em}
.o-grp .sw8 button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--midnight),0 0 0 3px var(--gold)}
.o-grp .wheel-big i{border-color:var(--midnight)}
.o-grp small{font-size:12px;color:rgba(241,238,231,.55)}
.o-grp small button{color:var(--cyan);font-size:12px;text-decoration:underline}
.oak .rng{font-size:13px;font-weight:700;gap:6px}
.oak .rng input{accent-color:var(--gold)}
.oak .chk-row{font-size:13px;font-weight:700;color:var(--o-text);padding:0}
.oak .chk-row input{width:22px;height:22px;accent-color:var(--gold)}
.oak .aside-foot .o-btn{height:44px;color:var(--o-text);border-color:rgba(127,176,255,.35);letter-spacing:.14em}
.oak .side-turn{background:rgba(127,176,255,.08);color:var(--o-text)}
.oak .d-app.tucked .d-head{background:transparent;color:var(--o-text);border-bottom:0}
.oak .d-app.tucked .d-head .rb{color:var(--o-text)}
.oak .pendant{background:var(--black)}
.oak .pendant .td{background:var(--gold);color:var(--black);border-color:var(--black)}
.oak .pendant-wrap .tip{background:var(--midnight);border:1px solid var(--o-line2)}
.oak .sheet-wrap{background:rgba(7,11,22,.9)}

/* ====================================================== Family (G1–G6) */
.dark-page{min-height:100%;background:var(--midnight);color:var(--o-text);padding:20px;padding-top:max(20px,env(safe-area-inset-top));display:flex;flex-direction:column}
.dark-page.black{background:var(--black)}
.dark-page .in{width:100%;max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:18px;flex-grow:1}
.dark-page .top{display:flex;align-items:center;gap:12px}
.dark-page .top .rb{border:1px solid var(--o-line2)}
.dark-page .top > div{display:flex;flex-direction:column}
.dark-page h1{font-family:var(--sora);font-weight:700;font-size:22px}
.dark-page h1.xl{font-weight:800;font-size:28px;line-height:1.1}
.dark-page p.sub{font-size:15px;color:rgba(241,238,231,.7)}
.dark-page .head2{display:flex;flex-direction:column;gap:6px}
.f-in{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}
.f-in input,.f-in select{height:46px;border-radius:10px;border:1px solid var(--o-line2);background:var(--black);color:var(--o-text);padding:0 12px;font:inherit;font-size:16px}
.dob{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dob .f-in{font-size:13px}
.dob select{background:var(--midnight);padding:0 8px}
.parent-box{padding:18px;border-radius:14px;border:2px solid var(--gold);background:var(--midnight);display:flex;flex-direction:column;gap:10px}
.parent-box b{font-family:var(--sora);font-weight:700;font-size:18px}
.parent-box p{font-size:15px;line-height:1.5;color:rgba(241,238,231,.8)}
.bone-btn{text-decoration:none;height:50px;border-radius:12px;background:var(--bone);color:var(--black);font-family:var(--sora);font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;width:100%}
.bone-btn.big{height:52px;font-size:16px}
.cyan-link{font-size:14px;font-weight:700;text-align:center;color:var(--cyan)}
.who-sees{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--o-line)}
.who-sees > span{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(241,238,231,.5)}
.who-sees div{display:flex;justify-content:space-between;font-size:13px;gap:10px}
.who-sees div span:last-child{color:rgba(241,238,231,.6);text-align:right}
.who-sees div:last-child span:last-child{color:var(--gold-hi)}
.tier-opts{margin:0;padding:0;border:none;display:flex;flex-direction:column;gap:8px}
.tier-opts legend{font-weight:700;font-size:14px;margin-bottom:8px;padding:0}
.tier-opts label,.tier-opts .lock{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 12px;border:1px solid var(--o-line2);border-radius:10px}
.tier-opts label.on{border:2px solid var(--gold)}
.tier-opts input{width:20px;height:20px;accent-color:var(--gold)}
.tier-opts span{display:flex;flex-direction:column}
.tier-opts b{font-size:15px}
.tier-opts small{font-size:13px;color:rgba(241,238,231,.6)}
.tier-opts .lock{border:1px dashed rgba(241,238,231,.2);color:rgba(241,238,231,.45)}
.tier-opts .lock small{color:inherit}
.sw-row2{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;font-weight:700;font-size:14px}
.sw-row2 > span{display:flex;flex-direction:column}
.sw-row2 small{font-weight:400;font-size:12px;color:rgba(241,238,231,.6)}
.sw-row2 input{width:24px;height:24px;accent-color:var(--gold)}
.info{padding:12px 14px;border-radius:10px;background:rgba(127,176,255,.08);font-size:13px;line-height:1.5;color:var(--cyan-soft)}
/* G2 · Who's coloring? */
.who-page{min-height:100%;background:var(--cobalt);color:var(--bone);padding:40px 22px 28px;padding-top:max(40px,env(safe-area-inset-top));display:flex;flex-direction:column;gap:26px}
.who-page .hd{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}
.who-page .hd .wm{font-size:18px}
.who-page h1{font-family:var(--sora);font-weight:800;font-size:30px}
.who-page .hd span{font-size:14px;color:var(--cyan-soft)}
.who-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:520px;width:100%;margin:0 auto}
@media(min-width:700px){.who-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:760px}}
.who-grid > a,.who-grid > button{text-decoration:none;color:var(--bone);display:flex;flex-direction:column;align-items:center;gap:8px}
.av{position:relative;width:120px;height:120px;border-radius:30px;display:flex;align-items:center;justify-content:center}
.av.gr{background:var(--black);box-shadow:inset 0 0 0 2px rgba(127,176,255,.35);font-family:var(--sora);font-weight:800;font-size:40px;color:var(--gold)}
.av .lk{position:absolute;right:-6px;bottom:-6px;width:36px;height:36px;border-radius:18px;background:var(--bone);color:var(--cobalt);display:flex;align-items:center;justify-content:center}
.av.add{border:3px dashed var(--cyan);font-size:48px;font-weight:800;color:var(--cyan)}
.who-grid b{font-family:var(--sora);font-weight:800;font-size:18px}
.who-grid small{font-size:13px;color:var(--cyan-soft)}
.who-page .foot{margin:auto 0 0;font-size:13px;line-height:1.5;color:var(--cyan-soft);text-align:center}
/* G4 · Grown-up check (the PIN pad) */
.pin{position:fixed;inset:0;z-index:60;background:var(--bone);color:var(--ink);padding:40px 24px 28px;padding-top:max(40px,env(safe-area-inset-top));display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;overflow:auto}
.pin .lockc{width:88px;height:88px;border-radius:44px;background:var(--cobalt);color:var(--bone);display:flex;align-items:center;justify-content:center;flex:none}
.pin h1{font-family:var(--sora);font-weight:800;font-size:26px;line-height:1.15}
.pin p{font-size:16px;line-height:1.5;color:var(--ink-2)}
.pin .dots{display:flex;gap:14px}
.pin .dots i{width:22px;height:22px;border-radius:11px;border:3px solid var(--cobalt)}
.pin .dots i.on{background:var(--cobalt)}
.pin .err{color:#B42318;font-weight:700;font-size:14px;min-height:20px}
.pin .keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:300px}
.pin .keys button{height:64px;border-radius:32px;background:#fff;font-family:var(--sora);font-weight:700;font-size:24px;color:var(--cobalt);box-shadow:0 3px 0 var(--shadow)}
.pin .keys button.del{background:transparent;box-shadow:none;font-size:22px}
.pin .back{margin-top:auto;font-weight:800;font-size:15px;color:var(--cobalt)}
.pin .fine{font-size:12px;color:var(--ink-2)}
/* G6 · Kids mode on this device */
.dl-tog{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:0 14px;border:2px solid var(--gold);border-radius:12px}
.dl-tog > span{display:flex;flex-direction:column}
.dl-tog b{font-size:16px}
.dl-tog small{font-size:13px;color:rgba(241,238,231,.65)}
.dl-tog input{width:26px;height:26px;accent-color:var(--gold)}
.dl-opens{margin:0;padding:14px;border:1px solid var(--o-line2);border-radius:12px;display:flex;flex-direction:column;gap:8px}
.dl-opens legend{padding:0 6px;font-weight:700;font-size:14px}
.dl-opens label{display:flex;align-items:center;gap:10px;min-height:40px;font-size:15px}
.dl-opens input{width:20px;height:20px;accent-color:var(--gold)}
.dl-list{display:flex;flex-direction:column;border:1px solid var(--o-line2);border-radius:12px;padding:0 14px}
.dl-list > *{display:flex;justify-content:space-between;align-items:center;min-height:52px;border-bottom:1px solid var(--o-line);font-size:15px;text-align:left;width:100%;color:inherit;text-decoration:none}
.dl-list > *:last-child{border-bottom:0}
.dl-list span:last-child{color:rgba(241,238,231,.65)}
.go-as{display:flex;flex-direction:column;gap:8px}
.go-as > span{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(241,238,231,.5)}
.go-as .two a,.go-as .two button{text-decoration:none;height:50px;border-radius:12px;border:1px solid var(--o-line2);color:var(--o-text);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.dark-page .bottom{margin-top:auto}
.kid-row{display:flex;align-items:center;gap:10px;min-height:52px;border-bottom:1px solid var(--o-line)}
.kid-row:last-child{border-bottom:0}
.kid-row b{flex:1}
.kid-row small{color:rgba(241,238,231,.6)}
.kid-row button{font-size:13px;font-weight:700;color:var(--cyan)}

/* ============================================================ My art */
.art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(min-width:700px){.art-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.art-grid a{text-decoration:none;color:inherit;background:#fff;border-radius:18px;padding:8px;display:flex;flex-direction:column;gap:6px;box-shadow:0 3px 0 var(--shadow)}
.art-grid .th{height:180px;border-radius:12px;overflow:hidden;background:#fff}
.art-grid b{font-weight:800;font-size:14px}
.art-grid small{font-size:12px;color:var(--ink-2)}
.oak .art-grid a{background:var(--midnight);border:1px solid var(--o-line);box-shadow:none;border-radius:8px}
.oak .art-grid small{color:var(--o-muted)}

/* toast */
.jc-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;background:var(--ink);color:#fff;padding:12px 18px;border-radius:14px;font-weight:700;z-index:80;transition:.2s;pointer-events:none;max-width:90vw;text-align:center}
.jc-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* B · Make this my home page? (bottom sheet) */
.home-ask{position:fixed;inset:0;z-index:70;background:rgba(7,11,22,.55);display:flex;align-items:flex-end;justify-content:center}
.home-ask .box{width:100%;max-width:520px;background:#fff;color:var(--ink);border-radius:32px 32px 0 0;padding:14px 22px max(30px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}
.home-ask .medal{align-self:center;width:96px;height:96px;border-radius:48px;background:var(--bone);box-shadow:0 0 0 5px var(--gold);display:flex;align-items:center;justify-content:center}
.home-ask h2{font-family:var(--sora);font-weight:800;font-size:24px;line-height:1.2;text-align:center}
.home-ask p{font-size:16px;line-height:1.5;color:var(--ink-2);text-align:center}
.home-ask .yes{height:58px;border-radius:29px;background:var(--blue);color:#fff;font-family:var(--sora);font-weight:800;font-size:17px}
.home-ask .no{height:58px;border-radius:29px;border:2px solid var(--cobalt);color:var(--cobalt);font-weight:800;font-size:16px}
.home-ask small{font-size:14px;color:var(--ink-2);text-align:center}
.home-ask small a{font-weight:700;color:var(--cobalt)}
.c-app .st-hint{margin:8px 20px 0;font-size:13px;color:var(--ink-2);text-align:center;flex:none}
.c-app.stk-mode .c-tray{max-height:48vh;overflow-y:auto}

/* G6 · kids home (KidsHome.dc) */
.kids-home .k-head{padding:18px 20px 22px;gap:10px}
.kids-home .k-head h1{font-size:26px;font-weight:700}
.kids-home .k-head .sub{font-size:14px;color:#CFE1FF}
.kids-home .k-main{gap:16px}
.kid-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kid-tiles > *{height:120px;border-radius:16px;background:#D9D3C5;border-top:12px solid #2E6B3F;box-sizing:border-box}
.kid-tiles a{background:var(--cobalt);color:var(--bone);display:flex;align-items:center;justify-content:center;font-family:var(--sora);font-weight:800;font-size:16px;text-decoration:none;text-align:center;padding:0 6px}

/* Add a child · picture */
.face-opts{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.face-opts legend{font-weight:700;font-size:14px;margin-bottom:8px;padding:0}
.face-opts label{aspect-ratio:1;border-radius:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}
.face-opts input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.face-opts label:has(input:checked){box-shadow:0 0 0 3px var(--midnight),0 0 0 5px var(--gold)}
.face-opts label:has(input:focus-visible){outline:2px solid var(--cyan);outline-offset:3px}
.dark-page .err{margin:0;padding:12px 14px;border-radius:12px;background:rgba(229,72,77,.15);border:1px solid #E5484D;color:#FFD5D6;font-size:14px;line-height:1.45}

/* Mighty Oaks · eraser and start over */
.o-tray .o-tools{grid-template-columns:repeat(7,minmax(0,1fr))}
.o-grp .o-tools .o-tool:nth-child(7):last-child{grid-column:1 / -1}
.aside-foot.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.aside-foot.three .o-btn{padding:0 4px;letter-spacing:.06em;font-size:11px;white-space:nowrap}
.av.photo{overflow:visible;background:var(--black)}
.av.photo img{width:100%;height:100%;object-fit:cover;border-radius:30px;display:block}

/* ==========================================================================
   One tool system for every age group (v3)
   ========================================================================== */
.tools7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.tools7 .tool{height:58px;border-radius:14px;font-size:10px;gap:2px;padding:0 2px;text-align:center;line-height:1.1}
.tools4 .tool.more,.tools7 .tool.more{font-weight:700}
.aside-foot .wide2{grid-column:1 / -1}
.pill-btn.danger,.sheet-acts .danger{color:var(--red);border-color:var(--red)}
.sheet-k{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:2px 0 -4px}
.brushes.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.sheet-acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.sheet-acts button{min-height:48px;border-radius:14px;border:2px solid var(--line);background:#fff;color:var(--cobalt);font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}
.read-tray{padding:14px 18px max(22px,env(safe-area-inset-bottom))}
.read-tray p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2);text-align:center}
.w-app.reading .w-aside{display:none}
.w-app.reading .w-main{padding-right:16px}

/* who's coloring: settings */
.who-set{display:flex;align-items:center;gap:14px;align-self:center;width:100%;max-width:420px;min-height:64px;padding:10px 18px;border-radius:18px;border:2px solid rgba(127,176,255,.4);color:var(--bone);text-align:left}
.who-set b{display:block;font-weight:800;font-size:16px}
.who-set small{display:block;font-size:13px;color:var(--cyan-soft)}
.who-grid [aria-current="true"] .av{box-shadow:0 0 0 4px var(--cobalt),0 0 0 7px var(--gold)}

/* settings */
.g-k{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin:10px 4px -4px}
.trow i{font-style:normal;font-weight:700;font-size:13px;color:var(--cobalt);flex:none}
a.trow,button.trow{text-decoration:none;color:inherit;width:100%;text-align:left}
.kid-set{justify-content:flex-start}
.kid-set > span:nth-child(2){flex-grow:1}
.kf{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none}
fieldset.opens{border:0;margin:0;padding:10px 0;display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--line)}
fieldset.opens legend{font-weight:800;font-size:15px;padding:0;margin-bottom:4px}
fieldset.opens label{display:flex;align-items:center;gap:10px;min-height:40px;font-size:15px}
fieldset.opens input{width:22px;height:22px;accent-color:var(--green)}
.av-btn{overflow:hidden;padding:0}
.av-btn img{width:100%;height:100%;object-fit:cover}
a.sheep-tile{text-decoration:none}

/* the text pages: read, don't color */
.stage.text{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tp-sheet{position:relative;background:#fff;flex:none}
.tp-art{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.tp-hot{position:absolute;inset:0}
.tp-box{position:absolute;border-radius:12px;display:block;padding:0;background:transparent;cursor:pointer;transition:background .15s,box-shadow .15s}
.tp-box:hover,.tp-box:focus-visible{background:rgba(46,91,234,.06);box-shadow:inset 0 0 0 3px rgba(46,91,234,.45);outline:none}
.tp-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;pointer-events:none}
.tp-tag{position:absolute;right:3%;bottom:6%;padding:5px 10px;border-radius:12px;background:var(--blue);color:#fff;font-weight:800;font-size:clamp(9px,1.6vw,13px);white-space:nowrap}
.tp-tag.done{background:var(--green)}
.tp-text{position:absolute;left:3.5%;right:3.5%;top:clamp(26px,16%,70px);bottom:22%;overflow:hidden;font-family:'Kalam','Comic Sans MS','Segoe Print',cursive;font-size:clamp(8px,1.5vw,15px);line-height:1.9;color:#132A6B;text-align:left}

/* journal: lined paper, rich text */
.jr-wrap{position:fixed;inset:0;z-index:60;background:rgba(7,11,22,.6);display:flex;align-items:flex-end;justify-content:center}
@media(min-width:700px){.jr-wrap{align-items:center;padding:24px}}
.jr{width:100%;max-width:760px;max-height:100%;height:min(92vh,900px);background:#FFFDF6;border-radius:24px 24px 0 0;display:flex;flex-direction:column;overflow:hidden;color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.35)}
@media(min-width:700px){.jr{border-radius:20px}}
.jr-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px 10px;border-bottom:1px solid #EFE7D4}
.jr-head > div{flex-grow:1;min-width:0}
.jr-k{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}
.jr-head h2{margin:4px 0 0;font-family:var(--sora);font-weight:700;font-size:17px;line-height:1.35}
.jr-done{height:44px;padding:0 20px;border-radius:22px;background:var(--cobalt);color:#fff;font-weight:800;font-size:15px;flex:none}
.jr-tools{display:flex;gap:6px;padding:8px 14px;overflow-x:auto;border-bottom:1px solid #EFE7D4;scrollbar-width:none;flex:none}
.jr-tools::-webkit-scrollbar{display:none}
.jr-tools button{min-width:40px;height:38px;padding:0 10px;border-radius:10px;border:1px solid #E4DED1;background:#fff;color:var(--cobalt);font-size:14px;font-weight:700;flex:none;white-space:nowrap}
.jr-tools .hl{background:#FFE58A;padding:0 4px;border-radius:3px}
.jr-ans{margin:12px 18px 0;padding:10px 14px;border-left:4px solid var(--green);background:#F2F7F3;border-radius:0 12px 12px 0;font-size:15px;line-height:1.5}
.jr-ans > span{display:block;font-size:12px;font-weight:800;color:var(--green);margin-bottom:4px}
.jr-paper{flex-grow:1;overflow-y:auto;padding:4px 22px 32px 56px;font-family:'Kalam','Segoe Print','Comic Sans MS',cursive,var(--karla);font-size:18px;line-height:34px;color:#1B2740;outline:none;
  background-color:#FFFDF6;background-image:linear-gradient(90deg,transparent 40px,rgba(229,72,77,.35) 40px,rgba(229,72,77,.35) 42px,transparent 42px),repeating-linear-gradient(#FFFDF6 0,#FFFDF6 33px,#C9DCF2 33px,#C9DCF2 34px);background-attachment:local;background-position:0 -3px}
.jr-paper:empty::before{content:attr(data-ph);color:#9AA3B5}
.jr-paper p,.jr-paper ul,.jr-paper ol,.jr-paper blockquote,.jr-paper h3{margin:0}
.jr-paper h3{font-family:var(--sora);font-size:19px;line-height:34px}
.jr-paper blockquote{padding-left:14px;border-left:3px solid var(--gold);color:#4A5468}
.jr-paper mark{background:#FFE58A;color:inherit;padding:0 2px}
.jr-paper ul,.jr-paper ol{padding-left:26px}
.jr-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px max(14px,env(safe-area-inset-bottom));border-top:1px solid #EFE7D4;font-size:13px;color:var(--ink-2)}
.jr-foot a{font-weight:800;color:var(--cobalt)}

/* draw it: the full-screen pad */
.dp-wrap{position:fixed;inset:0;z-index:60;overscroll-behavior:none;background:var(--stage);display:flex;flex-direction:column}
.dp-head{background:var(--cobalt);color:var(--bone);display:flex;align-items:center;gap:10px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top))}
.dp-head .tt{flex-grow:1;min-width:0;display:flex;flex-direction:column}
.dp-head .tt b{font-family:var(--sora);font-size:16px}
.dp-head .tt span{font-size:12px;color:var(--cyan);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dp-head .rb:disabled{opacity:.35}
.dp-done{height:44px;padding:0 20px;border-radius:22px;background:var(--gold);color:var(--ink);font-weight:800;font-size:15px}
.dp-stage{flex:1 1 auto;min-height:0;position:relative;overflow:hidden;touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none}
.dp-stage .jc-sheet{box-shadow:0 0 0 1px var(--shadow),0 6px 0 var(--shadow);border-radius:6px}
.dp-tray{background:#fff;border-radius:24px 24px 0 0;padding:10px 12px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;max-width:900px;width:100%;margin:0 auto}
.dp-tools{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.dp-tools .tool{height:56px;font-size:10px}
.dp-row{display:flex;align-items:center;gap:12px}
.dp-row label{flex-grow:1;display:flex;align-items:center;gap:10px;font-weight:800;font-size:13px}
.dp-row input{flex-grow:1;accent-color:var(--cobalt)}
.dp-row .pill-btn{height:40px}
.dp-tray small{font-size:12px;color:var(--ink-2);text-align:center}

/* the journal list */
.jl-book{display:flex;flex-direction:column;gap:10px}
.jl-book h2{font-family:var(--sora);font-weight:800;font-size:18px}
.jl-item{display:flex;flex-direction:column;gap:4px;text-align:left;background:#fff;border-radius:18px;padding:14px 16px;box-shadow:0 3px 0 var(--shadow);color:inherit;width:100%}
.jl-top{display:flex;justify-content:space-between;gap:10px}
.jl-top b{font-family:var(--sora);font-weight:700;font-size:16px}
.jl-top i{font-style:normal;font-size:12px;color:var(--ink-2);flex:none}
.jl-meta{font-size:12px;color:var(--ink-2)}
.jl-meta em{font-style:normal;color:var(--green);font-weight:800}
.jl-ex{font-size:14px;line-height:1.45;color:#2B3550}

/* my art: clear a page */
.art-item{position:relative}
.art-item > a{height:100%}
.art-rm{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:19px;background:#fff;color:var(--red);box-shadow:0 2px 8px rgba(7,11,22,.2);display:flex;align-items:center;justify-content:center}

/* ---------------------------------------------- Mighty Oaks: the same parts, dark */
.oak .k-nav{background:var(--midnight);border-top:1px solid var(--o-line)}
.oak .k-nav a,.oak .k-nav button{color:rgba(241,238,231,.55);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.oak .k-nav [aria-current="page"]{color:var(--o-text)}
.oak .o-head .chips{margin-top:4px}
.oak .chip{border:1px solid var(--o-line2);border-radius:4px;height:34px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(241,238,231,.8)}
.oak .chip[aria-pressed="true"]{border-color:var(--gold);background:transparent;color:var(--gold-hi)}
.oak .c-row .lines-pill{background:transparent;color:var(--o-text);box-shadow:inset 0 0 0 1px var(--o-line2);border-radius:4px;font-size:12px;letter-spacing:.06em}
.oak .c-row .lines-pill .ck{background:var(--gold);color:var(--black);border-radius:3px;width:24px;height:24px}
.oak .c-row .lines-pill.off .ck{background:transparent;box-shadow:inset 0 0 0 1px var(--o-line2)}
.oak .out-btn,.oak .pill-btn{background:transparent;border:1px solid var(--o-line2);color:var(--o-text);border-radius:4px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.oak .c-turns span,.oak .d-turns span{color:var(--o-muted)}
.oak .c-tray{background:var(--midnight);box-shadow:none;border-top:1px solid var(--o-line);border-radius:0}
.oak .tool{background:transparent;border:1px solid rgba(127,176,255,.2);color:var(--o-text);border-radius:6px;letter-spacing:.06em;text-transform:uppercase}
.oak .tool[aria-pressed="true"]{border-color:var(--gold);color:var(--gold-hi);background:rgba(203,160,84,.08)}
.oak .wheel-btn{border-color:var(--midnight);box-shadow:0 0 0 1px var(--o-line2)}
.oak .sw[aria-pressed="true"],.oak .c8[aria-pressed="true"]{box-shadow:0 0 0 2px var(--midnight),0 0 0 4px var(--gold)}
.oak .tuck-pill{background:transparent;border:1px solid var(--o-line2);border-radius:6px;color:var(--o-text);letter-spacing:.1em;text-transform:uppercase;font-size:12px}
.oak .chk-row.green{color:var(--o-text)}
.oak .link-sm{color:var(--cyan)}
.oak .gold-btn{border-radius:4px;letter-spacing:.1em;text-transform:uppercase;font-size:12px}
.oak .aside-foot .pill-btn{height:44px}
.oak .pill-btn.danger{color:#FF8A9B;border-color:rgba(255,138,155,.5)}
.oak .w-aside{background:var(--midnight);border-left:1px solid var(--o-line)}
.oak .read-tray p{color:var(--o-muted)}
.oak .rb.solid{background:var(--gold);border-color:var(--gold);color:var(--black)}
.oak .rb:disabled{opacity:.35}
.oak .jl-item{background:var(--midnight);box-shadow:none;border:1px solid var(--o-line)}
.oak .jl-top i,.oak .jl-meta{color:var(--o-muted)}
.oak .jl-ex{color:rgba(241,238,231,.85)}
.oak .jl-meta em{color:var(--gold-hi)}
.oak .art-rm{background:var(--midnight);color:#FF8A9B;box-shadow:0 0 0 1px var(--o-line2)}
.oak .stage.text .tp-sheet{border-radius:4px}

/* book page: the teacher's guide download (grown-ups only) */
.guide-dl{display:flex;align-items:center;gap:12px;margin:14px 20px 0;padding:10px 14px;border-radius:16px;background:#fff;box-shadow:0 3px 0 var(--shadow);color:var(--cobalt);text-decoration:none;max-width:1100px}
.guide-dl b{display:block;font-weight:800;font-size:14px}
.guide-dl small{display:block;font-size:12px;color:var(--ink-2)}
.oak .guide-dl{background:var(--midnight);box-shadow:none;border:1px solid var(--o-line);color:var(--o-text)}
.oak .guide-dl small{color:var(--o-muted)}
.two.three{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
