@charset "UTF-8";
:root{font-family:ui-rounded,"Segoe UI",Arial,sans-serif;color:#173451;background:#f1f7fd;font-synthesis:none;--ink:#173451;--teal:#086a72;--sea:#087787;--gold:#ffce62;--line:#d3e2ed;--muted:#526b80;--paper:#fff;--soft:#e6f5f5}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:4px solid #e7a900;outline-offset:4px}button{min-height:52px;border:0;border-radius:18px;padding:14px 22px;background:#e8f1f8;color:var(--ink);font-weight:650}button:hover:not(:disabled){filter:brightness(.96)}a{color:#075f8e}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.08;letter-spacing:-.035em}h2{font-size:1.6rem;line-height:1.25}p{line-height:1.6}small,.small{font-size:.88rem;line-height:1.55}svg{max-width:100%}[hidden]{display:none!important}.shell{max-width:1100px;padding:24px 36px 36px;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.brand{display:flex;align-items:center;gap:12px;font-size:1.1rem;font-weight:750}.brand img{width:40px;height:40px}.quiet{background:transparent;color:var(--muted);font-size:.94rem}.primary{background:var(--teal);color:white;box-shadow:0 5px 0 #064d54;min-height:66px;padding:18px 30px;font-size:1.2rem}.primary:active{transform:translateY(2px);box-shadow:0 3px 0 #064d54}.gold{background:var(--gold);color:#273343;box-shadow:0 5px 0 #d6a338}.home{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:35px 0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;font-weight:750;color:var(--teal);margin-bottom:18px}.home p{max-width:450px;font-size:1.12rem;color:var(--muted)}.home .primary{margin:12px 0 20px}.welcome-symbol{font-size:5rem;line-height:1;display:block;margin-bottom:20px}.journey{background:var(--ink);color:white;border-radius:36px;padding:30px}.journey h2{font-size:1.3rem}.journey-track{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center;padding:24px 0}.day-node{display:flex;align-items:center;justify-content:center;border:2px solid #5b7589;width:60px;height:60px;border-radius:50%;font-size:1.2rem;color:#bfd3e2}.day-node.current{background:var(--gold);color:var(--ink);border-color:var(--gold);box-shadow:0 0 0 7px #ffffff14}.day-node.done{background:#226d78;color:white;border-color:#226d78}.journey p{font-size:1rem;color:#d4e4ed}.home-foot{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;color:var(--muted)}.notice{padding:14px 18px;border-radius:14px;background:#fff1cf;color:#594315;margin-bottom:20px;font-size:.94rem}.game-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.progress{flex:1;background:#dbe8f0;height:9px;border-radius:20px;overflow:hidden}.progress span{display:block;background:var(--teal);height:100%;transition:width .3s}.island{font-size:.94rem;color:var(--muted);white-space:nowrap}.activity{background:white;box-shadow:0 16px 50px #1734510b;border:1px solid var(--line);border-radius:32px;padding:30px clamp(20px,5vw,60px);text-align:center;min-height:480px}.activity-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.phase{font-size:.85rem;color:var(--teal);font-weight:750;letter-spacing:.04em}.speaker{background:var(--soft);color:var(--teal)}.task-title{font-size:clamp(1.5rem,3vw,2rem);line-height:1.25;max-width:740px;margin:0 auto 20px}.stimulus{min-height:120px;display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin:20px 0 24px}.big-symbol{font-size:clamp(3rem,9vw,5.8rem);line-height:1.2;font-weight:650;letter-spacing:.08em}.sentence{font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.5}.ear{font-size:4.5rem}.answers{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.answer{font-size:2.4rem;min-width:110px;min-height:100px;border:2px solid var(--line);background:white;box-shadow:0 4px 0 #d8e5ef}.answer.small-label{font-size:1.2rem}.answer.selected{border-color:var(--teal);background:var(--soft)}.audio-choice{flex:1;min-width:130px;max-width:230px;background:#f5f9fd;border:2px solid var(--line);border-radius:24px;padding:12px;display:flex;flex-direction:column;gap:10px}.audio-choice button:first-child{font-size:1.15rem;min-height:74px;background:white}.audio-choice .pick{background:var(--soft);color:var(--teal);min-height:48px}.audio-choice.chosen{border-color:var(--teal)}.audio-word{font-size:1.1rem;word-break:break-word}.feedback{min-height:64px;display:flex;align-items:center;justify-content:center;padding:14px 0;line-height:1.55;font-size:1.12rem;color:var(--teal)}.game-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.help{background:transparent;color:var(--muted)}.dots{display:grid;grid-template-columns:repeat(5,44px);gap:10px;justify-content:center}.token{width:44px;height:44px;min-height:44px;border-radius:50%;padding:0;display:inline-flex;justify-content:center;align-items:center;background:#156f98;color:white;font-size:1rem;box-shadow:none}.token.counted{background:#f7c95e;color:var(--ink)}.token.empty{background:#e2edf5;border:2px dashed #97b1c4}.token.removed{background:#d9e3ea;color:#6b7a84;text-decoration:line-through;opacity:.55}.dots.spread{gap:18px}.group{padding:14px;min-width:180px}.group-label{font-size:.88rem;color:var(--muted);margin-bottom:14px}.groups{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.operator{font-size:2.4rem;color:var(--teal)}.quantity-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin:18px 0}.quantity-controls button{min-width:72px;min-height:66px;font-size:2rem}.built{display:flex;justify-content:center;gap:8px;min-height:80px;flex-wrap:wrap}.built span{background:var(--soft);min-width:52px;padding:10px;border-radius:12px;font-size:2.4rem}.tiles{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:16px 0}.tiles button{font-size:2rem;min-width:60px;min-height:65px;background:#e8f0ff}.measure{width:min(100%,450px);text-align:left}.ribbon{height:32px;border-radius:6px;background:#168694;margin:8px 0 22px}.ribbon.alt{background:#d18d22}.end{text-align:center;max-width:740px;margin:30px auto;background:white;border-radius:36px;padding:45px 28px}.end .welcome-symbol{font-size:4rem}.end p{color:var(--muted)}.dialog-backdrop{position:fixed;inset:0;background:#0b203a88;display:grid;place-items:center;padding:20px;z-index:10}.dialog{background:white;border-radius:28px;padding:30px;max-width:450px;width:100%;box-shadow:0 20px 80px #10263d44}.dialog input,.dialog select{width:100%;padding:12px;border:1px solid #91acbf;border-radius:10px;font-size:1.1rem;margin:10px 0 20px}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap}.parent-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.parent-heading h1{font-size:2.2rem}.parent-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.parent-tabs button{background:transparent;border:1px solid var(--line);font-weight:600}.parent-tabs button[aria-pressed=true]{background:var(--ink);color:white}.panel{background:white;border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stat strong{display:block;font-size:2rem;color:var(--ink)}.stat{padding:18px;background:white;border:1px solid var(--line);border-radius:18px}.stat span{font-size:.88rem;color:var(--muted)}.parent-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.skill-list{list-style:none;padding:0;margin:0}.skill-list li{padding:12px 0;border-bottom:1px solid #e3ecf2;display:flex;align-items:center;gap:12px}.skill-list li:last-child{border-bottom:0}.state-dot{font-size:1.25rem;color:var(--teal)}.state-fragile{color:#a24c21}.state-unknown{color:#8896a3}.state-solid{color:#087549}.text-muted{color:var(--muted)}.skill-link{padding:4px 0;min-height:38px;text-align:left;background:transparent;font-weight:500}.graph-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.graph-node{display:block;width:100%;text-align:left;background:white;border:1px solid var(--line);border-left:5px solid #a9becd;border-radius:14px;padding:14px;margin:10px 0;font-size:.92rem;font-weight:500}.graph-node.solid{border-left-color:#14835b}.graph-node.fragile{border-left-color:#c66a2e}.graph-node small{display:block;color:var(--muted);margin-top:5px}.graph-edge{color:var(--muted);font-size:.8rem;margin-left:12px}.history-item{padding:16px 0;border-bottom:1px solid var(--line)}.badge{display:inline-block;padding:5px 10px;border-radius:30px;font-size:.8rem;background:var(--soft);color:var(--teal)}.settings label{display:block;margin:16px 0 8px}.settings select{padding:12px;border-radius:12px;border:1px solid var(--line);background:white;max-width:100%}.settings .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.danger{color:#9a392e;background:#fff0ec}.loading{padding:60px;text-align:center}.app-error{max-width:650px;margin:60px auto;padding:30px}.dev-banner{background:#ffebae;text-align:center;padding:10px;font-size:.85rem;color:#614d10}.skill-details dl{display:grid;grid-template-columns:auto 1fr;gap:12px}.skill-details dt{color:var(--muted)}.skill-details dd{margin:0}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.footnote{margin-top:24px;color:var(--muted);font-size:.86rem}.select-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@media(max-width:760px){.shell{padding:18px}.topbar{margin-bottom:20px}.home{grid-template-columns:1fr;gap:24px;padding-top:10px}.home h1{font-size:2.6rem}.home .welcome-symbol{font-size:3.5rem}.journey{padding:24px}.journey-track{gap:10px;padding:10px 0}.day-node{width:42px;height:42px;font-size:1rem}.activity{padding:22px 16px;border-radius:24px;min-height:460px}.activity-top{gap:10px}.speaker{padding:12px;font-size:.95rem}.answers{gap:12px}.answer{min-width:76px;min-height:84px;font-size:2rem}.audio-choice{min-width:110px;padding:8px}.game-footer .primary{padding:15px 22px}.island{display:none}.dots{grid-template-columns:repeat(5,36px);gap:8px}.token{width:36px;height:36px;min-height:36px}.dots.spread{gap:12px}.groups{gap:4px}.group{min-width:140px;padding:8px}.group .dots{grid-template-columns:repeat(5,25px);gap:5px}.group .token{width:25px;height:25px;min-height:25px;font-size:.8rem}.stats{grid-template-columns:1fr 1fr}.parent-grid,.graph-columns{grid-template-columns:1fr}.parent-heading{display:block}.brand{font-size:1rem}.parent-heading h1{font-size:2rem}.built span{min-width:40px;font-size:2rem}.tiles button{min-width:48px;padding:10px}.skill-details dl{grid-template-columns:1fr;gap:4px}.skill-details dd{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.graph-scroll{overflow-x:auto;padding:12px 0}.graph-scroll svg{max-width:none}.graph-svg-node{cursor:pointer}.graph-svg-node:focus{outline:none}.graph-svg-node:focus rect{stroke:#d29100;stroke-width:3}.skill-details{max-width:640px;max-height:90vh;overflow-y:auto}.spread-wrap .dots{gap:18px}.panel li{margin-bottom:8px}
#interaction{border:0;padding:0;margin:0;min-width:0}
@media(max-width:760px){.dots{grid-template-columns:repeat(5,44px);gap:6px}.token{width:44px;height:44px;min-height:44px}.spread-wrap .dots{gap:6px}.group .dots{grid-template-columns:repeat(5,25px);gap:5px}.group .token{width:25px;height:25px;min-height:25px}}
.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.picker{max-width:520px;margin:70px auto;text-align:center;padding:0 20px}.picker .welcome-symbol{font-size:4.2rem;margin-bottom:8px}.picker h1{margin-bottom:30px}.picker-grid{display:flex;flex-direction:column;gap:16px}.picker-card{font-size:1.4rem;min-height:88px}.placement-banner{background:#dcecff!important;color:#0c3f66!important}.gate-form{text-align:left}.gate-form label{display:block;margin:16px 0 8px}.gate-form input,.gate-form select{width:100%;padding:12px;border:1px solid #91acbf;border-radius:10px;font-size:1.1rem;margin:0 0 8px}
@media(max-width:760px){.topbar{flex-wrap:wrap;row-gap:10px}.picker{margin:40px auto}}
.targeted{max-width:46rem;margin:1rem auto}.target-results{display:grid;gap:.7rem;margin:1rem 0}.target-choice{display:grid;gap:.4rem;text-align:left;white-space:normal;min-height:48px;width:100%;overflow-wrap:anywhere}.target-check{display:flex;gap:.6rem;align-items:center}.target-check input{width:auto}.target-label{overflow-wrap:anywhere;margin:1rem 0}.home #targeted-start{display:block;margin-top:.8rem}.targeted select,.targeted input{max-width:100%;min-height:44px;font:inherit}
