@font-face{font-family:Fredoka;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/fredoka-latin-v1.woff2)format("woff2")}@font-face{font-family:Quicksand;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/quicksand-latin-v1.woff2)format("woff2")}:root{--navy:#14305a;--navy-2:#0f2546;--navy-soft:#2b446e;--red:#f25e6b;--yellow:#f7c233;--teal:#2bc4a2;--blue:#5cc4f5;--violet:#a07cf0;--paper:#faf6ec;--cream:#fff7e6;--cream-2:#f4eee2;--cream-3:#efe7d6;--line:#e6dfcd;--muted:#5f6577;--btn-drop:0 6px 0 -1px var(--navy-2);--font-display:"Fredoka", "Quicksand", system-ui, sans-serif;--font-body:"Quicksand", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--navy);font-family:var(--font-body);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;margin:0}#app{background:var(--cream);position:fixed;inset:0;overflow:hidden}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.screen{top:env(safe-area-inset-top,0px);left:env(safe-area-inset-left,0px);width:calc(100% - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));height:calc(100% - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));touch-action:none;display:block;position:absolute;overflow:visible}.screen text{font-family:var(--font-display)}.screen .body-text{font-family:var(--font-body)}.tap{cursor:pointer}#curtain{pointer-events:none;z-index:50;position:fixed;inset:0}#rotate{display:none}@media (orientation:landscape) and (max-height:500px){#rotate{z-index:100;background:var(--navy);color:var(--cream);font-family:var(--font-display);text-align:center;place-items:center;font-size:20px;display:grid;position:fixed;inset:0}.rotate-phone{transform-origin:60px 60px;animation:2.4s ease-in-out infinite rotate-hint}}@keyframes rotate-hint{0%,30%{transform:rotate(-90deg)}60%,to{transform:rotate(0)}}.overlay{z-index:40;background:#0f25468c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sheet{overscroll-behavior:contain;background:var(--paper);-webkit-user-select:text;user-select:text;border-radius:28px;width:min(460px,100%);max-height:calc(100dvh - 32px);padding:22px 20px 24px;overflow-y:auto;box-shadow:0 32px 64px -16px #14305a66}.sheet h2{font-family:var(--font-display);margin:4px 0 6px;font-size:26px;font-weight:600;line-height:1.1}.sheet h3{font-family:var(--font-body);letter-spacing:.24em;text-transform:uppercase;color:var(--navy-soft);margin:22px 0 8px;font-size:12px;font-weight:700}.sheet p{color:var(--navy-soft);margin:6px 0;font-size:15px;line-height:1.5}.sheet .eyebrow{letter-spacing:.36em;text-transform:uppercase;color:var(--red);font-size:12px;font-weight:700}.sheet .row{border:1px solid var(--line);background:#fff;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:12px 14px;font-size:15px;font-weight:600;display:flex}.skill{align-items:flex-start;gap:10px;padding:6px 0;font-size:15px;line-height:1.4;display:flex}.skill .dot{border:2px solid var(--line);background:#fff;border-radius:50%;flex:none;width:14px;height:14px;margin-top:3px}.skill.done .dot{background:var(--teal);border-color:var(--teal)}.skill.now .dot{background:var(--yellow);border-color:var(--yellow)}.pill{font:inherit;cursor:pointer;background:var(--navy);min-height:44px;color:var(--cream);box-shadow:var(--btn-drop);border:0;border-radius:999px;padding:12px 20px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s}.pill:active{box-shadow:0 3px 0 -1px var(--navy-2);transform:translateY(3px)}.pill.ghost{color:var(--navy);border:1px solid var(--line);box-shadow:0 4px 0 -1px var(--line);background:#fff}.pill.red{background:var(--red);box-shadow:0 6px 0 -1px #c14250}.pill.teal{background:var(--teal);color:var(--navy);box-shadow:0 6px 0 -1px #1f9a7f}.pill:focus-visible,.seg button:focus-visible,.switch:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.seg{background:var(--cream-2);border-radius:999px;flex-wrap:wrap;gap:2px;padding:4px;display:inline-flex}.seg button{font:inherit;color:var(--navy-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:40px;padding:8px 12px;font-size:14px;font-weight:700}.seg button[aria-pressed=true]{background:var(--navy);color:var(--cream)}.switch{cursor:pointer;background:var(--line);border:0;border-radius:999px;flex:none;width:52px;height:32px;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:4px;left:4px;box-shadow:0 2px 4px #14305a40}.switch[aria-checked=true]{background:var(--teal)}.switch[aria-checked=true]:after{transform:translate(20px)}.sheet .field{color:var(--navy-soft);margin-top:8px;font-size:14px;font-weight:600;display:block}.sheet .field input{width:100%;font:inherit;color:var(--navy);border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:6px;padding:12px 14px;font-size:17px;font-weight:600;display:block}.sheet .field input:focus-visible{outline:3px solid var(--blue);outline-offset:1px}.pill:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.sheet .gate-word{font-family:var(--font-display);color:var(--navy);margin:10px 0;font-size:26px;font-weight:600}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px;display:grid}.keypad button{font-family:var(--font-display);border:1px solid var(--line);min-height:56px;color:var(--navy);cursor:pointer;box-shadow:0 4px 0 -1px var(--line);background:#fff;border-radius:18px;font-size:24px;font-weight:600}.keypad button:active{box-shadow:0 2px 0 -1px var(--line);transform:translateY(2px)}.close-x{float:right;border:1px solid var(--line);width:44px;height:44px;color:var(--navy);cursor:pointer;background:#fff;border-radius:50%;font-size:22px;line-height:1}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
