
:root{--paper:#fffaf0;--bg:#f4ecdc;--ink:#2d3142;--mute:#6b6b78;--teal:#1f8a8a;--coral:#ec6b4f;--gold:#f4b942;--plum:#7a4f9a;--acc:var(--coral);--sh:0 8px 22px rgba(60,45,20,.16);--r:16px}
body.t-h{--acc:var(--teal)}
*{box-sizing:border-box}html,body{margin:0}
body{font-family:Heebo,Assistant,"Segoe UI",Arial,sans-serif;color:var(--ink);line-height:1.6;font-size:16.5px;min-height:100vh;overflow-x:hidden;
background-color:var(--bg);background-image:radial-gradient(rgba(150,120,70,.10) 1px,transparent 1.4px);background-size:14px 14px}
h1,h2,h3,.disp{font-family:"Secular One",Heebo,sans-serif;font-weight:400;line-height:1.25;margin:.2em 0 .4em}
.hand{font-family:"Playpen Sans Hebrew","Secular One",Heebo,sans-serif}
a{color:#1d6f8e}button{font:inherit;cursor:pointer;color:inherit}
img{max-width:100%}
.top{position:sticky;top:0;z-index:30;background:#fffaf0;box-shadow:0 3px 12px rgba(60,45,20,.18);padding:8px 10px 0;border-bottom:3px dashed rgba(0,0,0,.08)}
.brand{display:flex;align-items:center;gap:10px}.brand .logo{width:42px;height:42px;border-radius:50%;background:conic-gradient(var(--coral),var(--gold),var(--teal),var(--plum),var(--coral));display:grid;place-items:center;font-size:22px;flex:none}
.brand b{font-family:"Secular One";font-weight:400;font-size:18px;display:block;line-height:1.1}.brand small{color:var(--mute);font-size:12.5px}
.track{display:flex;gap:6px;margin:8px 0 6px;background:#efe5d2;padding:4px;border-radius:999px}
.track button{flex:1;border:0;border-radius:999px;padding:7px 4px;background:transparent;font-weight:700;font-size:14.5px;color:#5b5446}
.track button.on{background:var(--acc);color:#fff;box-shadow:0 3px 8px rgba(0,0,0,.18)}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:2px 0 8px;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:none;text-decoration:none;color:var(--ink);padding:6px 11px;border-radius:12px;background:#f3ead7;font-size:14.5px;font-weight:600;white-space:nowrap;border:1.5px solid transparent}
.tabs a.on{background:#fff;border-color:var(--acc);color:var(--acc)}
main{max-width:980px;margin:0 auto;padding:14px 12px 30px}
.paper{background:var(--paper);border-radius:6px;box-shadow:var(--sh);padding:16px 16px;position:relative;margin:18px 0;background-image:linear-gradient(transparent 31px,rgba(31,138,138,.10) 32px);background-size:100% 32px}
.paper.plain{background-image:none}
.tape{position:absolute;top:-11px;width:92px;height:24px;background:rgba(244,185,66,.62);box-shadow:0 1px 3px rgba(0,0,0,.12);right:22px;transform:rotate(3deg)}
.tape.l{right:auto;left:22px;transform:rotate(-4deg);background:rgba(31,138,138,.35)}
.banner{display:inline-block;background:#fff6dc;padding:6px 18px;border-radius:3px;box-shadow:0 4px 10px rgba(0,0,0,.14);transform:rotate(-1.2deg);position:relative;margin:4px 0 10px}
.banner::before{content:"";position:absolute;top:-9px;left:50%;width:70px;height:18px;margin-left:-35px;background:rgba(236,107,79,.45);transform:rotate(-3deg)}
.hero{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--sh);margin-top:6px}
.hero img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.hero .cap{position:relative;background:rgba(255,250,240,.93);border-radius:12px;padding:10px 12px;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.hero .cap h1{font-size:clamp(22px,6vw,38px);margin:0;color:var(--acc)}
.hero .cap p{margin:2px 0 0;font-size:14.5px}
.count{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:8px 0}
.count div{background:#fff;border-radius:12px;min-width:66px;padding:6px 8px;text-align:center;box-shadow:0 3px 8px rgba(0,0,0,.1)}
.count b{display:block;font-family:"Secular One";font-size:26px;color:var(--acc);line-height:1.1}.count small{font-size:12px;color:var(--mute)}
.ladder{display:grid;gap:8px;margin:10px 0}
.ladder div{border-radius:12px;padding:10px 12px;color:#fff;box-shadow:0 3px 8px rgba(0,0,0,.12)}
.ladder div b{font-family:"Secular One";font-weight:400;font-size:18px;display:block}
.ladder .l1{background:#9a8f7c;width:70%}.ladder .l2{background:var(--teal);width:80%}.ladder .l3{background:var(--plum);width:90%}.ladder .l4{background:var(--coral);width:100%}
.redline{border:3px solid #c0392b;border-radius:14px;padding:10px 12px;background:#fff2ef;margin:12px 0}
.redline b{color:#c0392b}
blockquote{margin:10px 0;padding:10px 14px;background:#fff;border-right:5px solid var(--acc);border-radius:8px;font-size:15.5px}
blockquote cite{display:block;font-style:normal;font-size:12.5px;color:var(--mute);margin-top:4px}
.tag{display:inline-block;font-size:12px;font-weight:700;background:#ffe9b0;color:#7a5600;border-radius:999px;padding:1px 9px;margin-inline-start:6px;vertical-align:middle}
.help{background:#e6f4f1;border-radius:14px;padding:10px 12px;margin:14px 0;font-size:15px}
.help b{color:var(--teal)}
/* wall */
.wall{display:flex;flex-wrap:wrap;gap:10px;min-height:90px;padding:12px;background:#c79a6a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Ccircle cx='2' cy='2' r='1' fill='%23a57a4d'/%3E%3C/svg%3E");border-radius:12px;border:8px solid #8a5a32}
.note{width:calc(50% - 5px);max-width:170px;min-height:84px;padding:10px 8px 8px;font-size:15px;box-shadow:2px 4px 8px rgba(0,0,0,.25);position:relative;word-wrap:break-word;line-height:1.35}
.note::before{content:"";position:absolute;top:-6px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#d23;box-shadow:0 1px 2px rgba(0,0,0,.4)}
.note button{position:absolute;bottom:2px;left:4px;border:0;background:none;font-size:13px;opacity:.5}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
input[type=text],textarea{font:inherit;width:100%;border:2px solid #e2d6bd;border-radius:10px;padding:8px 10px;background:#fff}
textarea{min-height:90px}
.btn{border:0;border-radius:12px;padding:9px 14px;font-weight:700;background:var(--acc);color:#fff;box-shadow:0 3px 8px rgba(0,0,0,.15)}
.btn.s{background:#fff;color:var(--ink);border:2px solid #e2d6bd;box-shadow:none}
.btn.g{background:var(--teal)}
/* cards */
.cardbar{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.flip{perspective:1100px;height:270px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.flip .in{position:relative;width:100%;height:100%;transition:transform .7s cubic-bezier(.3,1.3,.5,1);transform-style:preserve-3d}
.flip.on .in{transform:rotateY(180deg)}
.flip .f,.flip .b{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:18px;padding:16px 16px 14px;display:flex;flex-direction:column;box-shadow:0 8px 18px rgba(0,0,0,.18);overflow:hidden}
.flip .f{background:linear-gradient(160deg,#fff 0%,#fff7e6 100%);border:3px solid var(--c,#ec6b4f)}
.flip .f::after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:var(--c);opacity:.12;left:-40px;bottom:-50px}
.flip .b{transform:rotateY(180deg);background:var(--c,#ec6b4f);color:#fff}
.flip .num{font-family:"Secular One";font-size:15px;opacity:.75}
.flip .cat{display:inline-block;align-self:flex-start;background:var(--c);color:#fff;font-size:12.5px;font-weight:700;border-radius:999px;padding:1px 10px;margin-bottom:6px}
.flip .q{font-family:"Secular One";font-size:19.5px;line-height:1.35;margin:auto 0;color:#2d3142}
.flip .b .q2{font-size:16px;line-height:1.5;margin:auto 0}
.flip .hint{font-size:12px;opacity:.7;text-align:center}
.flip .b .hint{color:#fff}
.big .flip{height:340px;max-width:420px;margin:0 auto}
.big .flip .q{font-size:23px}
/* activities */
.acts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.acts button{border:0;background:#fff;border-radius:16px;padding:14px 10px;box-shadow:0 4px 12px rgba(0,0,0,.1);text-align:center;font-weight:700;font-size:15px;border-bottom:5px solid var(--acc);min-height:104px}
.acts button span{display:block;font-size:30px;margin-bottom:4px}
.acts button.feat{grid-column:1/-1;background:linear-gradient(120deg,#2d3142,#4b3f72);color:#fff;border-bottom-color:var(--gold)}
.opt{display:block;width:100%;text-align:right;border:2px solid #e8dcc3;background:#fff;border-radius:12px;padding:10px 12px;margin:8px 0;font-size:15.5px}
.opt.good{border-color:#2e9e6a;background:#eaf8f0}.opt.mid{border-color:#e0a800;background:#fff8e1}.opt.bad{border-color:#d9534f;background:#fdecea}
.fb{border-radius:12px;padding:10px 12px;margin:8px 0;font-size:15px;background:#f3f0ff}
.prog{height:12px;background:#eadfc8;border-radius:999px;overflow:hidden;margin:8px 0}.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--acc));width:0;transition:width .4s}
.back{border:0;background:none;color:var(--acc);font-weight:700;padding:4px 0}
.buckets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
.buckets button{border:0;border-radius:12px;padding:12px 4px;font-weight:700;color:#fff;font-size:14.5px}
.stmt{font-family:"Secular One";font-size:21px;text-align:center;background:#fff;border-radius:14px;padding:18px 12px;box-shadow:0 4px 12px rgba(0,0,0,.1);min-height:110px;display:grid;place-items:center}
.code{display:flex;gap:8px;justify-content:center;direction:rtl;margin:10px 0}
.code span{width:46px;height:56px;border-radius:10px;background:#2d3142;color:var(--gold);font-family:"Secular One";font-size:30px;display:grid;place-items:center;box-shadow:inset 0 -4px 0 rgba(0,0,0,.3)}
.code span.lock{color:#777;font-size:20px}
.chk{display:flex;gap:10px;align-items:flex-start;background:#fff;border-radius:12px;padding:10px 12px;margin:7px 0;box-shadow:0 2px 6px rgba(0,0,0,.06);cursor:pointer}
.chk input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--acc)}
.chk.done{background:#eef8ec;text-decoration:line-through;text-decoration-color:rgba(0,0,0,.25)}
.sec h3{display:flex;align-items:center;gap:8px}
.badge{text-align:center;font-family:"Secular One";font-size:20px;padding:12px;border-radius:14px;background:linear-gradient(120deg,#fff3c4,#ffe0d6);margin:10px 0}
.char{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.char button{border:0;background:#fff;border-radius:14px;padding:12px 8px;box-shadow:0 3px 10px rgba(0,0,0,.1);font-size:14.5px;font-weight:600}
.char button span{display:block;font-size:30px}
table.plan{width:100%;border-collapse:collapse;font-size:15px;background:#fff;border-radius:12px;overflow:hidden}
table.plan td{padding:8px 8px;border-bottom:1px solid #eee;vertical-align:top}
table.plan td:first-child{white-space:nowrap;font-weight:700;color:var(--acc);width:58px}
.gl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.gl div{background:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.gl b{color:var(--acc);font-family:"Secular One";font-weight:400;font-size:17px}
/* deck viewer */
.viewer{position:relative;background:#2d3142;border-radius:14px;overflow:hidden;box-shadow:var(--sh);touch-action:pan-y}
.viewer img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#2d3142}
.vnav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}
.vnav .n{font-weight:700}
.notes{background:#fff;border-radius:12px;padding:10px 12px;font-size:15px;border-right:5px solid var(--gold)}
.viewer.fs{position:fixed;inset:0;z-index:100;border-radius:0;display:flex;align-items:center}
.viewer .fsx{position:absolute;top:8px;left:8px;z-index:2;border:0;border-radius:10px;background:rgba(255,255,255,.85);padding:6px 10px;font-weight:700}
.thumbs{display:flex;gap:6px;overflow-x:auto;padding:6px 0}.thumbs img{width:96px;border-radius:6px;opacity:.6;cursor:pointer;border:2px solid transparent}.thumbs img.on{opacity:1;border-color:var(--acc)}
.foot{text-align:center;padding:18px 12px 26px;color:#5b5446;font-size:14px}
.foot .tiny{font-size:12px;color:var(--mute)}
.hide{display:none!important}
@media(min-width:760px){.hero .cap{position:absolute;inset:auto 18px 18px auto;max-width:56%}.note{width:160px}}
/* print */
.pcards{display:grid;grid-template-columns:1fr 1fr;gap:0}
.pc{border:1.5px dashed #888;padding:14px;min-height:150px;display:flex;flex-direction:column;justify-content:center;page-break-inside:avoid;background:#fff}
.pc small{color:#666}.pc b{font-family:"Secular One";font-weight:400;font-size:17px;display:block;margin:4px 0}
.pc .bk{font-size:13.5px;color:#444;border-top:1px dotted #bbb;margin-top:6px;padding-top:4px}
@media print{.top,.foot,.noprint,.cardbar{display:none!important}body{background:#fff}main{padding:0;max-width:none}.paper{box-shadow:none;background:none}.pc{min-height:5.3cm}}

.dcards{display:grid;grid-template-columns:1fr;gap:0}.dc{min-height:0!important;justify-content:flex-start}.dc p{font-size:14.5px;margin:4px 0}.dc ol{margin:4px 0;padding-right:20px}@media print{.dcards{grid-template-columns:1fr 1fr}.dc{page-break-inside:avoid;min-height:12.5cm!important}}

/* phones: the tall top bar scrolls away instead of covering ~30% of the screen */
@media (max-width:600px){header.top{position:relative}}
