:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--mint:#42c18c;--green:#1fa06f;--green-deep:#168257;--green-tint:#e8f6ef;--red-soft:#e39a8b;--red:#c2402c;--blue-soft:#6b8ce0;--blue:#03c;--purple-soft:#bfa3d1;--purple:#8e5aa8;--yellow-soft:#f2d08e;--amber:#e5a93a;--ink:#1d2b24;--muted:#566660;--line:#dfe7e3;--bg:#fff;--surface:#fff;--thumb:#bfe9fb;--ng:var(--red);--ok:var(--green-deep);--radius:18px;--font:"Hiragino Maru Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", "Meiryo UI", system-ui, sans-serif;--wave:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%208%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222.4%22%20d%3D%22M0%204q6-4%2012%200t12%200%22%2F%3E%3C%2Fsvg%3E)}.t-red{--t-soft:var(--red-soft);--t-strong:var(--red);--t-text:var(--red)}.t-blue,.t-red{--t-on-strong:#fff}.t-blue{--t-soft:var(--blue-soft);--t-strong:var(--blue);--t-text:var(--blue)}.t-purple{--t-soft:var(--purple-soft);--t-strong:var(--purple);--t-on-strong:#fff;--t-text:var(--purple)}.t-yellow{--t-soft:var(--yellow-soft);--t-strong:var(--amber);--t-on-strong:var(--ink);--t-text:#8a6210}.t-green{--t-soft:var(--green-tint);--t-strong:var(--green-deep);--t-on-strong:#fff;--t-text:var(--green-deep)}*,:after,:before{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;line-height:1.6}main{max-width:560px;padding:8px 16px calc(32px + env(safe-area-inset-bottom,0px));margin:0 auto}main.wide{max-width:980px}h1{margin:8px 0 4px;font-size:1.3rem}h2{justify-content:space-between;align-items:baseline;margin:0 0 10px;font-size:1.05rem;display:flex}h2 small{color:var(--muted);font-size:.85rem;font-weight:400}a{color:var(--green-deep)}.muted{font-size:.875rem}.hint,.muted{color:var(--muted)}.hint{margin:0 0 10px;font-size:.85rem}.center{text-align:center}.back{margin:10px 0 0;font-size:.9rem;display:inline-block}.app-header{background:var(--green);color:#fff;padding-top:env(safe-area-inset-top,0)}.app-header__title{letter-spacing:.04em;max-width:560px;margin:0 auto;padding:14px 16px 0;font-size:1.35rem;font-weight:800;line-height:1.3}.app-header--wide .app-header__title{max-width:980px}.app-header--blank{padding-top:calc(env(safe-area-inset-top,0px) + 22px)}.app-header--slim .app-header__title{padding-top:8px;font-size:1.05rem}.app-header--slim.app-header--blank{padding-top:calc(env(safe-area-inset-top,0px) + 8px)}.app-header__wave{width:100%;height:28px;color:var(--green);background:var(--bg);margin-bottom:-1px;display:block}.card,section{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:16px}section.t-green{background:var(--green-tint);border-color:var(--mint)}.field,label{color:var(--muted);margin-bottom:12px;font-size:.9rem;display:block}input:not([type]),input[inputmode],input[type=number],input[type=password],input[type=text]{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:2px solid var(--line);border-radius:12px;margin-top:4px;padding:12px;font-size:1rem}.row{gap:8px;display:flex}.row>*{flex:1}.btn,button{font:inherit;border:3px solid var(--mint);background:var(--bg);min-height:52px;color:var(--green-deep);cursor:pointer;text-align:center;border-radius:16px;width:100%;padding:14px;font-weight:700;text-decoration:none;display:block}.btn.primary,button.primary{background:var(--green-deep);border-color:var(--green-deep);color:#fff;letter-spacing:.08em;border-radius:999px;min-height:64px;font-size:1.15rem}.btn.small,button.small{border-radius:999px;width:auto;min-height:40px;padding:6px 14px;font-size:.9rem}button.small.primary{letter-spacing:0;font-size:.9rem}button:active:not(:disabled){transform:scale(.98)}button:disabled{opacity:.45;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,label:focus-within{outline:3px solid var(--blue);outline-offset:2px}.stepper{align-items:center;gap:12px;margin-top:4px;display:flex}.stepper button{border-radius:50%;width:56px;min-height:56px;padding:0;font-size:1.5rem}.stepper output{text-align:center;color:var(--ink);flex:1;font-size:1.5rem;font-weight:800}.check{color:var(--ink);align-items:flex-start;gap:10px;display:flex}.check input{width:26px;height:26px;accent-color:var(--green-deep);flex:none;margin:2px 0 0}.notes{margin:0 0 12px;padding-left:1.2em}.error,.notes{font-size:.9rem}.error{color:var(--red);margin:0 0 10px;font-weight:700}.big-no{letter-spacing:.15em;text-align:center;color:var(--green-deep);margin:4px 0;font-size:2.4rem}.big-no,.tag-q{font-weight:800}.tag-q{background:var(--green);color:#fff;letter-spacing:.12em;padding:2px 26px;font-size:1.1rem;display:inline-block}.progress__track{border:3px solid var(--mint);background:var(--bg);border-radius:999px;height:22px;overflow:hidden}.progress__fill{background:var(--mint);border-radius:999px;height:100%;transition:width .3s}.progress__label{color:var(--green-deep);margin:2px 0 0 6px;font-size:.85rem;font-weight:800}.answers{gap:16px;display:grid}.answer{background:var(--t-soft);min-height:88px;color:var(--ink);border-radius:22px;padding:14px 18px;font-size:1.05rem}.answer,.card-colored{border:3px solid var(--t-strong)}.card-colored{background:var(--surface);border-radius:16px;margin-bottom:14px;overflow:hidden}.card-colored__head{background:var(--t-strong);color:var(--t-on-strong);margin:0;padding:10px 16px;font-size:1.2rem;font-weight:800}.card-colored__body{padding:14px 16px}.card-colored__body p{margin:0 0 4px}.page-title{margin:14px 0 4px;font-size:1.1rem}.group-title{justify-content:space-between;align-items:baseline;margin:24px 0 12px;padding-bottom:12px;font-size:1.1rem;font-weight:800;display:flex;position:relative}.group-title small{color:var(--muted);font-size:.8rem;font-weight:400}.group-title:after{content:"";background:var(--t-strong,var(--mint));height:8px;-webkit-mask:var(--wave) repeat-x left center /24px 8px;-webkit-mask:var(--wave) repeat-x left center /24px 8px;mask:var(--wave) repeat-x left center /24px 8px;position:absolute;bottom:0;left:0;right:0}.spots{margin:0;padding:0;list-style:none}.spots li+li{margin-top:10px}.spot{border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:16px;grid-template-columns:64px 1fr;align-items:center;gap:4px 14px;padding:10px;text-decoration:none;display:grid}.spot__thumb{background:var(--thumb);color:#2b7fa3;border-radius:10px;grid-row:span 1;place-items:center;width:64px;height:64px;display:grid}.spot__body{min-width:0}.spot__name{font-weight:800;line-height:1.35}.spot__name span{margin-right:4px}.spot__sub{color:var(--muted);margin:0;font-size:.82rem}.spot__link{color:var(--blue);margin:2px 0 0;font-size:.9rem;font-weight:700;text-decoration:underline}.spot.done{border-color:var(--mint);background:var(--green-tint)}.spot.done .spot__link{color:var(--green-deep);text-decoration:none}.tag{border:2px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;margin-left:6px;padding:0 8px;font-size:.75rem}.cam{aspect-ratio:1;border-radius:var(--radius);border:3px solid var(--mint);background:#000;margin-bottom:14px;position:relative;overflow:hidden}.cam video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.cam .frame{pointer-events:none;border:3px dashed #fffc;border-radius:12px;position:absolute;inset:12%}.cam button{width:auto;position:absolute;inset:auto 16px 16px}.file-btn input{display:none}.hero{text-align:center;padding:24px 8px 8px;position:relative}.hero__title{letter-spacing:.04em;margin:0 0 4px;font-size:2.1rem}.hero__about,.hero__title{color:var(--green-deep);font-weight:800}.hero__about{margin:28px 0 8px}.hero__text{text-align:left;max-width:28em;margin:0 auto 8px;font-size:.95rem}.plane{width:26px;height:26px;position:absolute}.question{text-align:center;min-height:4.5em;margin:20px 0 28px;font-size:1.15rem;font-weight:700}.question--compact{min-height:0;margin:12px 0 4px;font-size:1.3rem}.result-type{text-align:center}.result-type__name{color:var(--t-text);margin:6px 0 0;font-size:1.5rem;font-weight:800}.result-type__axes{color:var(--green-deep);margin:0 0 20px;font-weight:800}.quadrant{width:min(70vw,260px);margin:12px auto;display:block}table{border-collapse:collapse;width:100%;font-size:.85rem}td,th{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:6px 8px}.scroll-x{overflow-x:auto}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 12px;display:grid}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pass{color:var(--green-deep)}.fail{color:var(--red)}
