*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0b;--surface:#111114;--border:#2a2a30;--accent:#e8ff47;--accent2:#ff4747;--text:#d8d8e0;--dim:#556;--mono:"Share Tech Mono", monospace;--cond:"Barlow Condensed", sans-serif}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--mono);overflow-x:hidden}body:before{content:"";background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.35;pointer-events:none;z-index:0;background-size:48px 48px;position:fixed;inset:0}.back-nav{z-index:50;pointer-events:none;padding:14px 16px;position:fixed;top:0;left:0;right:0}.back-btn{border:1px solid var(--border);color:var(--dim);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;pointer-events:all;-webkit-backdrop-filter:blur(8px);-webkit-tap-highlight-color:transparent;background:#0a0a0bd9;border-radius:2px;align-items:center;gap:6px;padding:7px 14px 7px 10px;font-size:.72rem;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.back-btn:hover{border-color:var(--accent);color:var(--accent)}.back-arrow{font-size:.9rem;line-height:1}.shell{z-index:1;flex-direction:column;align-items:center;min-height:100vh;padding:72px 16px 64px;display:flex;position:relative}header{border-bottom:1px solid var(--border);align-items:flex-end;gap:16px;width:100%;max-width:720px;margin-bottom:32px;padding-bottom:20px;display:flex}.logo-mark{border:2px solid var(--accent);flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.logo-mark svg{width:24px;height:24px}.title-block h1{font-family:var(--cond);letter-spacing:.04em;color:#fff;font-size:clamp(1.7rem,6vw,3.2rem);font-weight:800;line-height:1}.title-block p{color:var(--dim);letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-size:.65rem}.panel{background:var(--surface);border:1px solid var(--border);width:100%;max-width:720px;margin-bottom:24px;padding:20px}.field-label{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:10px;font-size:.65rem}.input-row{gap:10px;display:flex}#numInput{background:var(--bg);border:1px solid var(--border);color:#fff;min-width:0;font-family:var(--mono);-moz-appearance:textfield;outline:none;flex:1;padding:13px 14px;font-size:1.2rem;transition:border-color .15s}#numInput::-webkit-outer-spin-button{-webkit-appearance:none}#numInput::-webkit-inner-spin-button{-webkit-appearance:none}#numInput:focus{border-color:var(--accent)}#numInput::placeholder{color:var(--dim);font-size:1rem}#runBtn{background:var(--accent);color:#000;font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:none;flex-shrink:0;min-height:48px;padding:0 22px;font-size:1rem;font-weight:800;transition:transform .1s,background .15s}#runBtn:hover{background:#f5ff88}#runBtn:active{transform:scale(.97)}#runBtn:disabled{background:var(--border);color:var(--dim);cursor:not-allowed}.hint{color:var(--dim);margin-top:10px;font-size:.65rem;line-height:1.5}#output{flex-direction:column;gap:16px;width:100%;max-width:720px;animation:.3s both fadeUp;display:none}#output.visible{display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.verdict{border:2px solid var(--accent);background:var(--surface);align-items:center;gap:20px;padding:28px 32px;display:flex}.verdict.composite{border-color:var(--accent2)}.verdict-icon{font-size:2.4rem;line-height:1}.verdict-text .big{font-family:var(--cond);letter-spacing:.03em;color:#fff;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:800;line-height:1}.verdict-text .sub{letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-top:4px;font-size:.7rem}.verdict-badge{font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;border:1px solid;margin-left:auto;padding:6px 14px;font-size:.85rem;font-weight:600}.verdict-badge.prime{color:var(--accent)}.verdict-badge.composite{color:var(--accent2)}.meta-row{flex-wrap:wrap;gap:12px;display:flex}.meta-card{background:var(--surface);border:1px solid var(--border);flex:1;min-width:140px;padding:16px 20px}.meta-card .label{text-transform:uppercase;letter-spacing:.13em;color:var(--dim);margin-bottom:6px;font-size:.62rem}.meta-card .value{color:#fff;font-size:1.05rem}.factors-panel{background:var(--surface);border:1px solid var(--border);padding:24px}.factors-panel .section-title{text-transform:uppercase;letter-spacing:.13em;color:var(--dim);margin-bottom:16px;font-size:.62rem}.factor-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);color:var(--text);background:var(--bg);padding:5px 12px;font-size:.85rem;transition:border-color .12s,color .12s}.chip.prime-factor{border-color:var(--accent);color:var(--accent)}.progress-wrap{flex-direction:column;gap:8px;display:none}.progress-wrap.active{display:flex}.progress-label{color:var(--dim);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem}.progress-bar{background:var(--border);height:3px;overflow:hidden}.progress-fill{background:var(--accent);width:0%;height:100%;transition:width .2s;animation:1.2s linear infinite scanBar}@keyframes scanBar{0%{width:60%;transform:translate(-100%)}to{width:60%;transform:translate(200%)}}.history-panel{width:100%;max-width:720px;margin-top:16px}.history-title{text-transform:uppercase;letter-spacing:.13em;color:var(--dim);border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:10px;font-size:.62rem}.history-list{flex-direction:column;gap:6px;display:flex}.history-item{background:var(--surface);border:1px solid var(--border);cursor:pointer;align-items:center;gap:16px;padding:10px 14px;font-size:.85rem;transition:border-color .12s;display:flex}.history-item:hover{border-color:var(--dim)}.history-item .h-num{color:#fff;flex:1}.history-item .h-tag{letter-spacing:.1em;text-transform:uppercase;font-size:.65rem}.history-item .h-tag.prime{color:var(--accent)}.history-item .h-tag.composite{color:var(--accent2)}.history-item .h-time{color:var(--dim);font-size:.7rem}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border)}footer{color:var(--dim);letter-spacing:.1em;text-align:center;margin-top:48px;font-size:.62rem}@media (width<=600px){.shell{padding:68px 12px 48px}header{gap:12px;margin-bottom:20px;padding-bottom:16px}.logo-mark{width:38px;height:38px}.logo-mark svg{width:20px;height:20px}.title-block p{display:none}.panel{margin-bottom:16px;padding:16px}.input-row{flex-direction:column;gap:8px}#numInput{width:100%;padding:14px 12px;font-size:1.1rem}#runBtn{touch-action:manipulation;width:100%;min-height:52px;padding:16px;font-size:1.05rem}.verdict{flex-wrap:wrap;gap:10px;padding:18px 16px}.verdict-icon{font-size:1.8rem}.verdict-text .big{word-break:break-all;font-size:clamp(1.3rem,7vw,1.8rem)}.verdict-badge{margin-left:0}.meta-card{flex:calc(50% - 6px);min-width:0;padding:12px 14px}.meta-card .value{font-size:.95rem}.factors-panel{padding:14px}.chip{padding:5px 9px;font-size:.78rem}.history-item{flex-wrap:wrap;gap:6px;padding:10px 12px}.history-item .h-time{width:100%;margin-top:2px}footer{margin-top:32px}}@media (width<=360px){.title-block h1{font-size:1.5rem}.meta-card{flex:100%}}
