@import "https://fonts.googleapis.com/css2?family=Anybody:wdth,wght@75..125,400..800&family=Newsreader:ital,wght@1,400;1,500&display=swap";:root{color:#f7f9ff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--navy-950:#06132f;--navy-900:#081a3b;--navy-850:#0b2046;--navy-800:#102952;--surface:#09193ae0;--surface-raised:#0e244ad6;--line:#a3b8e029;--line-strong:#b5c7eb42;--text:#f7f9ff;--muted:#91a4c8;--orange:#ff6a00;--orange-bright:#ff852e;--green:#20d66b;--red:#ff4655;--radius-sm:4px;--radius-md:8px;--shadow-panel:0 22px 60px #00061647;background:#06132f;font-family:Anybody,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--navy-950);background-image:linear-gradient(#7191c709 1px,#0000 1px),linear-gradient(90deg,#7191c709 1px,#0000 1px),linear-gradient(145deg,#06132f 0%,#091c3f 52%,#061630 100%);background-size:32px 32px,32px 32px,auto;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}img{max-width:100%;display:block}::selection{color:#fff;background:#ff6a00c7}:focus-visible{outline:2px solid var(--orange-bright);outline-offset:3px}#root{min-height:100vh}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{--state:var(--orange);min-height:100vh;color:var(--text);padding:28px clamp(18px,4vw,68px) 54px;position:relative}.app-shell.work{--state:var(--green)}.app-shell.larp{--state:var(--red)}.app-shell:before{content:"";z-index:100;pointer-events:none;opacity:0;position:fixed;inset:0}.app-shell.work:before{background:#20d66b1f;animation:1.65s ease-out both resultFlash;box-shadow:inset 0 0 140px #20d66b4d}.app-shell.larp:before{background:#ff46551f;animation:1.65s ease-out both resultFlash;box-shadow:inset 0 0 140px #ff46554d}.topbar{grid-template-columns:auto minmax(80px,1fr);align-items:end;gap:clamp(24px,4vw,64px);width:min(100%,1460px);margin:0 auto;display:grid}.brand{font-variation-settings:"wdth" 120;letter-spacing:0;text-transform:uppercase;gap:9px;font-family:Anybody,sans-serif;font-size:clamp(2.5rem,4.5vw,5rem);font-weight:800;line-height:.76;display:flex}.brand span:last-child{color:var(--orange)}.topbar-line{background:linear-gradient(90deg, var(--orange) 0 70px, var(--line-strong) 70px 100%);height:1px;margin-bottom:3px}.main-layout{border-top:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) minmax(290px,340px);align-items:start;width:min(100%,1460px);margin:34px auto 0;display:grid}.scanner-panel{border-right:1px solid var(--line-strong);min-width:0;padding:36px clamp(28px,4vw,58px) 42px 0}.panel-header{max-width:1060px}.title-lockup{grid-template-columns:minmax(0,1fr) 190px;align-items:end;gap:30px;display:grid}.panel-header h1{font-variation-settings:"wdth" 78;letter-spacing:0;text-transform:uppercase;flex-direction:column;margin:0;font-family:Anybody,sans-serif;font-size:clamp(5rem,10vw,10.5rem);font-weight:760;line-height:.7;display:flex}.panel-header h1 span:last-child{color:#0000;-webkit-text-stroke:1px #f7f9ffb8;margin-left:clamp(42px,8vw,124px)}.panel-tag{color:#9aabd0;padding-bottom:4px;font-family:Newsreader,Georgia,serif;font-size:.98rem;font-style:italic;line-height:1.4}.input-row{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:132px minmax(0,1fr) 190px;align-items:stretch;margin-top:58px;display:grid}.input-label{color:#8fa1c5;border-right:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding-right:18px;font-size:.68rem;font-weight:650;display:flex}.input-control{align-items:center;min-width:0;transition:background-color .18s,box-shadow .18s;display:flex;position:relative}.input-row input{width:100%;min-width:0;min-height:70px;color:var(--text);letter-spacing:0;background:0 0;border:0;border-radius:0;outline:none;padding:0 22px;font-family:Anybody,sans-serif;font-size:clamp(.76rem,1vw,.92rem);font-weight:520}.input-row input::placeholder{color:#6f82a8}.input-control:focus-within{box-shadow:inset 0 -3px var(--orange);background:#ff6a0009}.input-row button,.secondary-button,.clear-log{cursor:pointer;letter-spacing:0;text-transform:uppercase;border-radius:0;font-family:Anybody,sans-serif;font-weight:700}.input-row button{color:#fff;background:var(--orange);clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,0 100%);border:0;min-height:70px;padding:0 24px;font-size:.78rem;transition:color .17s,transform .17s,filter .17s;position:relative;overflow:hidden}.input-row button:before{content:"";background:#fff;transition:transform .24s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:translate(-102%)}.input-row button span{z-index:1;position:relative}.input-row button:hover:not(:disabled){color:#07152f}.input-row button:hover:not(:disabled):before{transform:translate(0)}.input-row button:active:not(:disabled){transform:translateY(2px)}.input-row button:disabled{cursor:wait;filter:saturate(.62)}.scan-motion{--scan-progress:0%;border-bottom:1px solid var(--line-strong);height:64px;position:relative;overflow:hidden}.scan-motion:before{content:"";background:linear-gradient(90deg, transparent, var(--orange), transparent);width:clamp(90px,18%,190px);height:1px;animation:1.1s ease-in-out infinite scanningSweep;position:absolute;top:50%;left:0}.scan-motion:after{content:"";width:var(--scan-progress);background:var(--orange);height:3px;transition:width .18s linear;position:absolute;inset:auto 0 0}.result-banner{min-height:118px;color:var(--state);border-bottom:1px solid;grid-template-columns:1fr auto;align-items:end;gap:24px;padding:24px 0 20px;animation:.56s cubic-bezier(.22,1,.36,1) both resultWordEnter;display:grid}.result-tag{font-variation-settings:"wdth" 118;letter-spacing:0;font-family:Anybody,sans-serif;font-size:clamp(4rem,8vw,8rem);font-weight:800;line-height:.72}.result-title{color:var(--text);padding-bottom:3px;font-family:Newsreader,Georgia,serif;font-size:1rem;font-style:italic;font-weight:500}.error-message{color:#ff9da6;letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid #ff465585;padding:16px 0;font-size:.72rem;font-weight:650;animation:.18s ease-out resultReveal}.token-modal-backdrop{z-index:90;-webkit-backdrop-filter:blur(14px)saturate(.72);backdrop-filter:blur(14px)saturate(.72);background:#020816c7;place-items:center;padding:24px;animation:.24s ease-out both modalBackdropEnter;display:grid;position:fixed;inset:0}.token-modal{--modal-accent:var(--orange);background:linear-gradient(120deg, color-mix(in srgb, var(--modal-accent) 6%, transparent), transparent 35%), #091a39;border:1px solid var(--line-strong);border-top:4px solid var(--modal-accent);transform-origin:50% 42%;grid-template-columns:minmax(240px,320px) minmax(0,1fr);width:min(100%,860px);max-height:min(680px,100vh - 48px);animation:.72s cubic-bezier(.16,1,.3,1) both tokenCardEnter;display:grid;position:relative;overflow:auto;box-shadow:0 36px 100px #0004109e}.token-modal.work{--modal-accent:var(--green)}.token-modal.larp{--modal-accent:var(--red)}.modal-close{z-index:2;color:#b8c4db;border:1px solid var(--line-strong);cursor:pointer;background:#040f23b8;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;font:300 1.5rem/1 Anybody,sans-serif;transition:color .15s,background-color .15s,transform .15s;display:grid;position:absolute;top:16px;right:16px}.modal-close:hover{color:#07152f;background:#fff;transform:rotate(6deg)}.modal-avatar-wrap{aspect-ratio:1;border-right:1px solid var(--line-strong);background:#071630;justify-content:center;align-self:center;align-items:center;width:100%;min-height:0;display:flex;overflow:hidden}.modal-avatar,.modal-avatar-placeholder{width:100%;height:100%}.modal-avatar{object-fit:cover;object-position:center}.modal-avatar-placeholder{color:var(--orange);place-items:center;font-size:2rem;font-weight:800;display:grid}.modal-content{flex-direction:column;min-width:0;padding:56px 46px 40px;display:flex}.modal-result{color:var(--modal-accent);font-variation-settings:"wdth" 120;font-size:clamp(3.8rem,8vw,7rem);font-weight:800;line-height:.72;animation:.48s ease-out .18s both detailEnter}.modal-content h2{overflow-wrap:anywhere;max-width:100%;color:var(--text);font-variation-settings:"wdth" 90;text-transform:uppercase;margin:34px 0 0;font-size:clamp(1.8rem,4vw,3.4rem);font-weight:730;line-height:.94;animation:.48s ease-out .24s both detailEnter}.modal-symbol{color:var(--orange-bright);text-transform:uppercase;margin-top:8px;font-size:.82rem;font-weight:700;animation:.48s ease-out .28s both detailEnter}.modal-metrics{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin-top:auto;padding-top:28px;animation:.48s ease-out .33s both detailEnter;display:grid}.modal-metrics>div{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding:12px 16px 12px 0;display:flex}.modal-metrics>div+div{border-left:1px solid var(--line);padding-left:16px}.modal-metrics span,.modal-address span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.58rem;font-weight:650}.modal-metrics strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:1rem}.modal-address{flex-direction:column;gap:6px;padding-top:18px;animation:.48s ease-out .38s both detailEnter;display:flex}.modal-address strong{overflow-wrap:anywhere;color:#c5d0e4;font-size:.72rem;font-weight:520}.scan-log-panel{max-height:100vh;padding:36px 0 0 26px;position:sticky;top:0;overflow:hidden}.log-header-row{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;gap:10px;padding-bottom:15px;display:flex}.log-heading{align-items:center;gap:10px;display:flex}.log-header-row h2{font-variation-settings:"wdth" 88;text-transform:uppercase;margin:0;font-family:Anybody,sans-serif;font-size:1.35rem;font-weight:720}.log-count{min-width:24px;color:var(--orange-bright);text-align:center;border:1px solid #ff6a0057;padding:2px 5px;font-size:.58rem;font-weight:700;line-height:1.35}.clear-log{color:#8295b9;background:0 0;border:0;border-bottom:1px solid #0000;min-height:28px;padding:0;font-size:.58rem;transition:color .15s,border-color .15s}.clear-log:hover{color:#ff9da6;border-color:var(--red)}.log-list{scrollbar-color:#91a4c852 transparent;scrollbar-width:thin;flex-direction:column;max-height:calc(100vh - 98px);display:flex;overflow-y:auto}.log-item{width:100%;min-width:0;color:inherit;border:0;border-bottom:1px solid var(--line);cursor:pointer;font:inherit;text-align:left;background:0 0;border-radius:0;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:15px 6px 15px 0;transition:padding-left .15s,background-color .15s;animation:.48s cubic-bezier(.22,1,.36,1) both logItemEnter;display:grid;position:relative}.log-item:before{content:"";background:var(--orange);transform-origin:50%;width:2px;transition:transform .15s;position:absolute;inset:0 auto 0 0;transform:scaleY(0)}.log-item:hover{background:#ffffff05;padding-left:9px}.log-item:hover:before{transform:scaleY(1)}.log-avatar-wrap{border:1px solid var(--line-strong);background:#071630;justify-content:center;align-items:center;width:42px;height:42px;display:flex;overflow:hidden}.log-avatar{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.log-avatar.placeholder{color:var(--orange);justify-content:center;align-items:center;font-size:.68rem;font-weight:700}.log-details{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 8px;min-width:0;display:grid}.log-name{color:var(--text);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.76rem;font-weight:700;overflow:hidden}.log-ticker,.log-address,.log-meta,.log-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.58rem}.log-ticker{color:var(--orange-bright);text-align:right;font-weight:700}.log-address{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.log-meta{flex-wrap:wrap;gap:9px;display:flex}.log-result{color:var(--muted);letter-spacing:.04em;text-align:right;font-size:.6rem;font-weight:700}.log-result.work{color:var(--green)}.log-result.larp{color:var(--red)}.log-time{color:#61769d;grid-column:1/-1}.empty-log{color:#7185aa;border-bottom:1px solid var(--line);text-align:center;place-items:center;min-height:180px;font-size:.65rem;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes scanningSweep{0%{transform:translate(-110%)}to{transform:translate(620%)}}@keyframes resultReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalBackdropEnter{0%{opacity:0;-webkit-backdrop-filter:blur()saturate();backdrop-filter:blur()saturate()}to{opacity:1;-webkit-backdrop-filter:blur(14px)saturate(.72);backdrop-filter:blur(14px)saturate(.72)}}@keyframes resultFlash{0%,to{opacity:0}10%{opacity:.72}23%{opacity:.06}36%{opacity:.48}54%{opacity:.04}68%{opacity:.24}}@keyframes resultWordEnter{0%{opacity:0;clip-path:inset(100% 0 0);transform:translateY(18px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}@keyframes tokenCardEnter{0%{opacity:0;filter:blur(8px);transform:perspective(900px)translateY(44px)scale(.94)rotateX(-7deg)}68%{opacity:1;filter:blur();transform:perspective(900px)translateY(-3px)scale(1.006)rotateX(0)}to{opacity:1;filter:blur();transform:perspective(900px)translateY(0)scale(1)rotateX(0)}}@keyframes detailEnter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes logItemEnter{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@media (width<=1100px){.main-layout{grid-template-columns:minmax(0,1fr) 290px}.scanner-panel{padding-right:28px}.title-lockup{grid-template-columns:minmax(0,1fr) 160px}.input-row{grid-template-columns:110px minmax(0,1fr) 170px}.token-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.app-shell{padding:20px 18px 36px}.main-layout{grid-template-columns:1fr}.scanner-panel{border-right:0;padding-right:0}.scan-log-panel{border-top:1px solid var(--line-strong);max-height:none;margin-top:26px;padding:28px 0 0;position:static}.log-list{max-height:520px}.token-modal{grid-template-columns:minmax(210px,260px) minmax(0,1fr)}.modal-content{padding-inline:32px}}@media (width<=620px){.app-shell{padding:16px 12px 30px}.topbar{gap:18px}.brand{font-size:2.3rem}.main-layout{margin-top:22px}.scanner-panel{padding-top:24px}.title-lockup{grid-template-columns:1fr;gap:18px}.panel-header h1{font-size:clamp(4rem,23vw,5.4rem)}.panel-header h1 span:last-child{margin-left:28px}.panel-tag{width:auto;max-width:220px}.input-row{grid-template-columns:86px minmax(0,1fr);margin-top:38px}.input-label{font-size:.58rem}.input-row input{padding-inline:14px;font-size:.72rem}.input-row button{grid-column:1/-1;min-height:56px}.scan-motion{height:48px}.result-banner{min-height:100px}.result-tag{font-size:4.2rem}.result-title{font-size:.85rem}.clear-log{min-height:40px;padding-inline:10px}.token-modal-backdrop{padding:12px}.token-modal{grid-template-columns:1fr;max-height:calc(100vh - 24px)}.modal-avatar-wrap{aspect-ratio:1;border-right:0;border-bottom:1px solid var(--line-strong);width:100%;min-height:0}.modal-content{min-height:310px;padding:34px 24px 26px}.modal-result{font-size:4.5rem}.modal-content h2{margin-top:26px;font-size:2rem}}@media (width<=390px){.brand{font-size:2rem}.input-row{grid-template-columns:74px minmax(0,1fr)}.input-row input{padding-inline:10px;font-size:.66rem}.result-banner{grid-template-columns:1fr;gap:8px}.modal-content{padding-inline:20px}}
