@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--kim-primary: #1ca5bd;--kim-primary-dark: #15849a;--kim-primary-faint: #e3f4f7;--kim-lila: #7a5fb8;--kim-lila-faint: #f0ecf8;--kim-text: #0f172a;--kim-text-soft: #3a414f;--kim-text-muted: #6a7281;--kim-text-faint: #9aa3b0;--kim-bg: #fcfbf7;--kim-card-bg: #ffffff;--kim-border: #e6e8ec;--kim-border-soft: #f0f1f4;--kim-success: #2f7d4f;--kim-success-bg: #e3f3e8;--kim-error: #b42318;--kim-error-bg: #fee2e2;--kim-warn-bg: #fef3c7;--kim-warn-border: #facc15;--kim-warn-text: #92400e;--font-sans: "IBM Plex Sans", "Helvetica Neue", system-ui, sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--st-c: var(--kim-text);--st-h: #b4bac4;--st-hbond: #cfd3da}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--kim-bg);color:var(--kim-text);line-height:1.45;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}h1,h2{font-family:var(--font-serif);font-weight:400;letter-spacing:-.01em}.screen{max-width:760px;margin:0 auto;padding:1.5rem 1rem 3rem;display:flex;flex-direction:column;gap:1rem}.screen__head h1{font-size:2.4rem;line-height:1.1}.lead{color:var(--kim-text-soft);font-size:1.05rem;margin-top:.5rem;max-width:58ch}.card{background:var(--kim-card-bg);border:1px solid var(--kim-border);border-radius:14px;padding:1.1rem 1.2rem}.card__title{font-size:1.4rem;margin-bottom:.6rem}.settings{display:flex;flex-direction:column;gap:.9rem}.field{display:flex;flex-direction:column;gap:.35rem}.field>span{font-size:.85rem;font-weight:600;color:var(--kim-text-muted);letter-spacing:.02em}.field input{font:inherit;padding:.6rem .8rem;border:1px solid var(--kim-border);border-radius:10px;background:#fff;min-height:44px}.field input:focus{outline:2px solid var(--kim-primary);outline-offset:1px}.seg{display:flex;flex-wrap:wrap;gap:.4rem}.seg__btn{min-height:44px;padding:.5rem .9rem;border:1px solid var(--kim-border);border-radius:999px;background:#fff;color:var(--kim-text-soft)}.seg__btn--multi.is-active:before{content:"✓ "}.settings__warn{margin:0;padding:.6rem .8rem;border-radius:10px;background:#fff4e5;color:#8a4b00;font-size:.95rem}.btn:disabled{opacity:.45;cursor:not-allowed}.seg__btn.is-active{background:var(--kim-primary);border-color:var(--kim-primary);color:#fff;font-weight:600}.btn{border:none;border-radius:12px;padding:.7rem 1.3rem;min-height:44px}.btn--primary{background:var(--kim-primary);color:#fff;font-weight:600}.btn--primary:hover{background:var(--kim-primary-dark)}.btn--big{font-size:1.15rem;padding:.9rem 1.6rem;align-self:flex-start}.foot{color:var(--kim-text-faint);font-size:.8rem}.round-info{background:var(--kim-primary-faint);border-left:3px solid var(--kim-primary);padding:.6rem .9rem;border-radius:6px;font-size:.95rem}.round-info__sub{color:var(--kim-text-muted);font-size:.85rem}.bar__code{color:var(--kim-primary-dark);font-weight:600}.linkcard__summary{cursor:pointer;font-weight:600;color:var(--kim-lila);min-height:44px;display:flex;align-items:center}.linkcard__text{color:var(--kim-text-soft);font-size:.9rem;margin:.5rem 0 .8rem}.linkcard__link{margin-top:.8rem;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.linkcard__link code{flex:1 1 260px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.85rem;background:var(--kim-lila-faint);padding:.5rem .7rem;border-radius:8px;word-break:break-all;-webkit-user-select:all;user-select:all}.best{list-style:none}.best__row{display:grid;grid-template-columns:2rem 1fr auto auto;gap:.8rem;padding:.35rem 0;border-bottom:1px solid var(--kim-border-soft);font-variant-numeric:tabular-nums}.best__rank{color:var(--kim-text-faint)}.best__pts{font-weight:600}.best__time{color:var(--kim-text-muted)}.result{margin:.6rem 0 1rem;display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}.result__pts{font-family:var(--font-serif);font-size:3rem;line-height:1;color:var(--kim-primary-dark)}.result__pts small{font-family:var(--font-sans);font-size:1rem;color:var(--kim-text-muted)}.result__time{font-size:1.1rem;color:var(--kim-text-soft)}.review{list-style:none;display:flex;flex-direction:column;gap:.6rem}.review__row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem;padding:.6rem 0;border-bottom:1px solid var(--kim-border-soft);align-items:start}.review__given,.review__pick{display:flex;flex-direction:column;gap:.2rem;padding:.4rem .5rem;border-radius:8px}.review__given{background:var(--kim-primary-faint)}.review__pick.is-right{background:var(--kim-success-bg)}.review__pick.is-wrong{background:var(--kim-error-bg)}.review__label{font-size:.75rem;font-weight:600;color:var(--kim-text-muted)}.review__fix{font-size:.8rem;color:var(--kim-success);display:flex;gap:.3rem;align-items:center;flex-wrap:wrap}@media (max-width: 600px){.review__row{grid-template-columns:1fr}}.play{height:100%;display:flex;flex-direction:column;padding:.5rem .75rem;padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right));gap:.5rem}.bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.95rem;color:var(--kim-text-muted);padding:.2rem .3rem}.bar strong{color:var(--kim-text);font-size:1.1rem}.bar__time{font-variant-numeric:tabular-nums;font-weight:600;color:var(--kim-text)}.rotate-hint{display:none;background:var(--kim-warn-bg);border-left:3px solid var(--kim-warn-border);color:var(--kim-warn-text);padding:.4rem .7rem;border-radius:6px;font-size:.85rem}.board{flex:1;min-height:0;display:grid;grid-template-columns:1fr minmax(180px,.9fr) 1fr;grid-template-areas:"left given right";gap:.75rem;align-items:stretch}.given{grid-area:given;display:flex;flex-direction:column;gap:.3rem}.given__label,.group__label{font-family:var(--font-sans);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--kim-text-muted);display:flex;justify-content:flex-start;gap:.5rem;align-items:center}.given__card{flex:1;background:var(--kim-primary-faint);border:2px solid var(--kim-primary);border-radius:16px;display:flex;align-items:center;justify-content:center;padding:1rem;min-height:120px}.group{display:flex;flex-direction:column;gap:.3rem;min-width:0}.group--left{grid-area:left}.group--right{grid-area:right}.group__mark{font-size:.95rem;padding:0 .5rem;border-radius:999px;color:#fff}.group__mark.is-right{background:var(--kim-success)}.group__mark.is-wrong{background:var(--kim-error)}.group__options{flex:1;display:grid;grid-template-rows:repeat(4,1fr);gap:.5rem;min-height:0}.opt{background:var(--kim-card-bg);border:2px solid var(--kim-border);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:.4rem .7rem;min-height:52px;min-width:0;transition:background .15s,border-color .15s,transform .1s}.opt:not(:disabled):active{transform:scale(.98);border-color:var(--kim-primary)}@media (hover: hover){.opt:not(:disabled):hover{border-color:var(--kim-primary)}}.opt:disabled{cursor:default}.opt--correct{background:var(--kim-success-bg);border-color:var(--kim-success)}.opt--wrong{background:var(--kim-error-bg);border-color:var(--kim-error)}.opt--reveal{border-color:var(--kim-success);border-style:dashed}.opt--locked{opacity:.45}.mol-name{font-weight:600;white-space:nowrap}.mol-name--option{font-size:clamp(1.05rem,2.4vw,1.5rem)}.mol-name--given{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.2rem)}.mol-name--review{font-size:1rem}.formula{font-weight:600;white-space:nowrap}.formula sub{font-size:.7em;vertical-align:-.25em}.mol-formula--option{font-size:clamp(1.2rem,2.8vw,1.7rem)}.mol-formula--given{font-size:clamp(2.4rem,6vw,4rem)}.mol-formula--review{font-size:1rem}.structure{display:block;width:100%;height:auto}.structure--option{max-width:100%;max-height:clamp(48px,10vh,80px)}.structure--given{max-width:100%;max-height:clamp(80px,24vh,190px)}.structure--review{max-width:220px}.st-c{font-family:var(--font-sans);font-weight:700;font-size:24px;fill:var(--st-c);text-anchor:middle}.st-h{font-family:var(--font-sans);font-weight:500;font-size:17px;fill:var(--st-h);text-anchor:middle}.st-br{font-family:var(--font-sans);font-weight:700;font-size:21px;fill:var(--st-br, #a8441f)}.st-bond{stroke:var(--st-c);stroke-width:2.6;stroke-linecap:round}.st-hbond{stroke:var(--st-hbond);stroke-width:1.8;stroke-linecap:round}.st-stub{stroke:var(--st-c);stroke-width:2.2;stroke-linecap:round}.opt--structure{padding:.3rem .6rem}@media (orientation: portrait) and (max-width: 760px){.rotate-hint{display:block}.play{height:auto;min-height:100%}.board{grid-template-columns:1fr;grid-template-areas:"given" "left" "right"}.given__card{min-height:100px}.group__options{grid-template-rows:none}.opt{min-height:56px}.structure--option{max-height:90px}}.bar__time--knapp{color:var(--kim-error)}.result__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;align-items:center}.btn--share{background:transparent;border:2px solid var(--kim-primary);color:var(--kim-primary)}.best__hint{margin:-.25rem 0 .75rem;font-size:.85rem;color:var(--kim-text-muted)}.review__none{font-style:italic;color:var(--kim-text-muted)}
