.tools-scope{--warn:#b8862e}.tools-scope .btn-ghost{color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.65rem 1.4rem;font-size:.95rem;font-weight:600}.tools-scope .btn-ghost:hover{border-color:var(--ink);background:var(--paper-alt)}.tools-scope .btn-ghost:focus-visible{outline:3px solid var(--secondary);outline-offset:2px}.tools-scope .result .badge.badge-ok{background:var(--ok)}.tools-scope .result .badge.badge-warn{background:var(--warn)}.tools-scope .result .badge.badge-danger{background:var(--danger)}.tools-scope .index-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;display:grid}.tools-scope .index-card{border:1px solid var(--line);border-radius:var(--radius);color:inherit;background:#fff;padding:1.25rem;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:block}.tools-scope .index-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 22px #1e2d2a14}.tools-scope .index-card .icon{background:radial-gradient(circle at 35% 35%, #fff 0 10%, var(--accent) 11% 60%, var(--accent-dark) 65% 100%);border-radius:50%;width:38px;height:38px;margin-bottom:12px}.tools-scope .index-card h3{margin-bottom:4px;font-size:1.02rem}.tools-scope .index-card p{color:var(--ink-soft);margin:0;font-size:.85rem}.tools-scope .index-card .tag{color:var(--secondary-dark);background:var(--paper-alt);border-radius:999px;margin-top:8px;padding:2px 10px;font-size:.72rem;font-weight:700;display:inline-block}.tools-scope .steps{color:var(--ink-soft);margin:0 0 1.25rem;padding-inline-start:22px;font-size:.92rem}.tools-scope .steps li{margin-bottom:6px}.tools-scope .amsler-grid{--cell:24px;aspect-ratio:1;background-color:#fff;background-image:linear-gradient(to left, var(--ink) 1px, transparent 1px), linear-gradient(to top, var(--ink) 1px, transparent 1px);background-size:var(--cell) var(--cell);border:2px solid var(--ink);width:min(100%,340px);margin:0 auto 1.25rem;position:relative}.tools-scope .amsler-dot{background:var(--danger);border-radius:50%;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tools-scope .dial-svg{width:min(100%,320px);margin:0 auto 1.25rem;display:block}.tools-scope .contrast-rows{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:.5rem 1.1rem}.tools-scope .contrast-row{border:none;border-bottom:1px solid var(--paper-alt);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:.85rem .4rem;font-family:inherit;display:flex}.tools-scope .contrast-row:last-child{border-bottom:none}.tools-scope .contrast-row:hover{background:var(--paper-alt);border-radius:6px}.tools-scope .contrast-row:focus-visible{outline:3px solid var(--secondary);outline-offset:-2px}.tools-scope .contrast-letter{font-size:40px;font-weight:800}.tools-scope .contrast-level{color:var(--ink-soft);font-size:.78rem}.tools-scope .timer-stage{border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-content:center;align-items:center;height:190px;margin-bottom:1.1rem;display:flex;position:relative}.tools-scope .fixation-dot{background:var(--accent);border-radius:50%;width:14px;height:14px}.tools-scope .timer-display{bottom:12px;color:var(--ink-soft);font-size:1.15rem;font-weight:600;position:absolute;inset-inline-end:16px}.tools-scope .timer-controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tools-scope .glare-stage{border-radius:var(--radius);background:#0b1116;min-height:250px;padding:30px 20px;position:relative;overflow:hidden}.tools-scope .glare-source{filter:blur(2px);pointer-events:none;background:radial-gradient(circle,#fffaebf2 0%,#fffaeb73 30%,#fffaeb00 70%);border-radius:50%;width:220px;height:220px;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.tools-scope .glare-letters{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:88px;display:flex;position:relative}.tools-scope .glare-letter-btn{cursor:pointer;background:#ffffff05;border:1px solid #ffffff1f;border-radius:10px;justify-content:center;align-items:center;width:54px;height:54px;font-size:26px;font-weight:800;display:flex}.tools-scope .glare-letter-btn:focus-visible{outline:3px solid var(--secondary);outline-offset:2px}.tools-scope .plate-wrap{justify-content:center;margin-bottom:1.1rem;display:flex}.tools-scope #plateCanvas{background:#fff;border-radius:50%;width:min(100%,300px);height:auto}.tools-scope .plate-form{max-width:340px;margin:0 auto}.tools-scope .plate-form input{text-align:center;font-size:20px}.tools-scope .d15-reference{width:80px;height:80px;box-shadow:0 0 0 2px var(--line), 0 4px 14px #1e2d2a1f;border:4px solid #fff;border-radius:50%;margin:0 auto 1.1rem}.tools-scope .d15-pool{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:12px;margin-bottom:1.1rem;display:grid}.tools-scope .d15-chip{aspect-ratio:1;cursor:pointer;border:none;border-radius:50%;padding:0;box-shadow:0 1px 3px #1e2d2a26}.tools-scope .d15-chip:hover{box-shadow:0 0 0 2.5px var(--accent);transform:scale(1.05)}.tools-scope .d15-chip:focus-visible{outline:3px solid var(--secondary);outline-offset:2px}.tools-scope .d15-sequence{flex-wrap:wrap;justify-content:center;gap:6px;min-height:20px;display:flex}.tools-scope .d15-seq-dot{width:16px;height:16px;box-shadow:0 0 0 1px var(--line);border:1.5px solid #fff;border-radius:50%}.tools-scope .calib-stage{border:1px dashed var(--line);border-radius:var(--radius);background:#fff;justify-content:center;align-items:center;min-height:210px;margin-bottom:1rem;padding:18px;display:flex}.tools-scope .calib-card{background:var(--paper-alt);border:2px solid var(--accent);width:320px;max-width:100%;height:202px;color:var(--accent-dark);border-radius:10px;justify-content:center;align-items:center;font-weight:700;display:flex}.tools-scope .calib-tips{background:var(--paper-alt);border-radius:var(--radius);margin:1.1rem 0;padding:.85rem 1.1rem;font-size:.85rem}.tools-scope .calib-tips ul{margin:6px 0 0;padding-inline-start:20px}.tools-scope .calib-tips li{margin-bottom:4px}.tools-scope .tumbling-stage{border:1px solid var(--line);border-radius:var(--radius);background:#fff;justify-content:center;align-items:center;min-height:250px;margin-bottom:1.1rem;display:flex;overflow:hidden}.tools-scope .tumbling-e{color:var(--ink);font-family:Arial,Helvetica Neue,sans-serif;font-weight:700;line-height:1;transition:font-size .15s}.tools-scope .center-text{text-align:center}.tools-scope .direction-pad{grid-template-rows:60px 60px;grid-template-columns:60px 60px 60px;justify-content:center;gap:8px;margin:0 auto;display:grid}.tools-scope .dir-btn{border:1.5px solid var(--line);cursor:pointer;color:var(--accent-dark);background:#fff;border-radius:10px;font-size:22px}.tools-scope .dir-btn:hover{background:var(--paper-alt);border-color:var(--accent)}.tools-scope .dir-btn:focus-visible{outline:3px solid var(--secondary);outline-offset:2px}.tools-scope .dir-up{grid-area:1/2}.tools-scope .dir-left{grid-area:2/1}.tools-scope .dir-right{grid-area:2/3}.tools-scope .dir-down{grid-area:2/2}.tools-scope .back-link{color:var(--ink-soft);margin-bottom:1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.tools-scope .back-link:hover{text-decoration:underline}.tools-scope .page-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin:1rem 0;display:flex}.tools-scope .action-btn{background:var(--paper-alt);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-soft);cursor:pointer;align-items:center;gap:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.tools-scope .action-btn:hover{background:var(--paper);border-color:var(--accent);color:var(--accent-dark)}.tools-scope .action-btn svg{flex-shrink:0;width:14px;height:14px}@media (width<=560px){.tools-scope .calib-stage{padding:12px}}
