@font-face{font-family:Manrope;src:url('/assets/fonts/manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{color-scheme:dark;--bg:#000;--surface:#181818;--raised:#1f1f1f;--border:#313131;--text:#f5f5f5;--muted:#a3a3a3;--accent:#60a5fa;--blue:#2563eb;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:400 14px/20px Manrope,sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}
button,a,input,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent)}
::selection{background:#2563eb;color:#fff}h1,h2,p{margin:0}h1{font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.02em}h2{font-size:16px;line-height:24px;font-weight:600}
.icon{width:20px;height:20px;flex:none;display:inline-block;vertical-align:middle;fill:currentColor}
.skip-link{position:fixed;left:16px;top:16px;padding:12px 16px;background:var(--blue);border-radius:8px;z-index:10;transform:translateY(-96px)}.skip-link:focus{transform:translateY(0)}
.app-shell{max-width:1024px;margin:0 auto;padding:24px 32px 32px;animation:enter .5s var(--ease) both}
.app-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.brand{display:inline-flex;align-items:center;gap:12px;font-size:20px;line-height:28px;font-weight:700;letter-spacing:-.02em}.brand img{object-fit:contain}.brand-light{font-weight:400;color:var(--muted)}
.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:12px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--muted);transition:background-color .3s var(--ease),color .3s var(--ease)}
.icon-button:hover{background:var(--raised);color:var(--text)}.icon-button:disabled{opacity:.48}
.account-main{padding-top:40px}.page-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}.private-label{font-size:12px;line-height:16px;color:var(--muted)}
.account-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:16px;align-items:stretch}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px}
.subscription-card{position:relative;overflow:hidden;padding:24px;min-height:312px;display:flex;flex-direction:column}.subscription-top{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}
.status{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:12px;line-height:16px;padding:4px 8px;border:1px solid #313131;border-radius:9999px;background:#1f1f1f}.status-dot{width:4px;height:4px;border-radius:50%;background:currentColor}.status-inactive{color:var(--muted)}
.expiry-block{position:relative;z-index:1;margin-top:40px;margin-right:128px;padding-bottom:40px}.field-label{display:block;font-size:12px;line-height:16px;color:var(--muted)}.expiry-block time{display:block;margin-top:8px}.expiry-date{display:block;font-size:30px;line-height:36px;letter-spacing:-.02em;font-weight:600}.expiry-time{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:16px}.timezone{font-size:12px;line-height:16px}
.mascot{position:absolute;width:144px;height:auto;right:0;bottom:48px;pointer-events:none;opacity:.95}.subscription-bottom{margin-top:auto;position:relative;z-index:1;display:flex;justify-content:space-between;gap:8px;padding-top:16px;border-top:1px solid var(--border);font-size:12px;line-height:16px;color:var(--muted)}.location{display:flex;align-items:center;gap:4px}
.connection-card{padding:24px;min-width:0}.section-heading{display:flex;align-items:center;gap:12px}.section-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:var(--raised);color:var(--accent);border-radius:8px}.section-description{color:var(--muted);margin-top:12px}
.button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:12px 16px;border:1px solid transparent;border-radius:12px;font-weight:600;transition:background-color .3s var(--ease),transform .5s var(--ease)}.primary-button{background:var(--blue);color:#fff;margin-top:24px}.primary-button:hover{background:#1d4ed8;transform:translateY(-2px)}.primary-button:active{transform:translateY(0)}.primary-button:disabled{background:#272727;color:#a3a3a3;transform:none}
.link-label{margin:24px 0 8px}.copy-field{display:flex;align-items:center;gap:4px;padding:4px;background:#000;border:1px solid var(--border);border-radius:12px;min-width:0}.copy-field input{background:transparent;border:0;color:var(--muted);padding:8px;min-width:0;width:100%;text-overflow:ellipsis;font-size:12px;line-height:16px}.copy-button{flex:none;background:#1f1f1f;color:var(--text);padding:12px}.copy-label{font-size:12px;line-height:16px}.copy-button:hover{background:#313131}.copy-button[data-copied]{color:var(--accent)}
.field-note{display:block;color:var(--muted);font-size:12px;line-height:16px;margin-top:8px}.feedback{color:var(--accent);font-size:12px;line-height:16px}.feedback:not(:empty){margin-top:12px}.notice{padding:12px 16px;margin-bottom:16px;border:1px solid var(--border);border-radius:12px;color:var(--muted);font-size:12px;line-height:16px}
.disclosures{display:grid;gap:12px;margin-top:16px}.disclosure summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;min-height:64px;cursor:pointer;font-weight:500}.disclosure summary::-webkit-details-marker{display:none}.disclosure-title{display:flex;align-items:center;gap:12px}.disclosure-title>.icon{color:var(--muted)}.disclosure summary>.icon{width:16px;height:16px;color:var(--muted);transition:transform .5s var(--ease)}.disclosure[open] summary>.icon{transform:rotate(180deg)}.disclosure summary:hover{color:var(--accent)}.disclosure-content{padding:0 24px 24px}.disclosure[open] .disclosure-content{animation:enter .5s var(--ease) both}
.qr-content{display:flex;align-items:center;gap:24px;color:var(--muted)}.qr-image{background:#fff;border:8px solid #fff;border-radius:12px;flex:none;width:192px;height:192px}
.device-tabs{display:flex;gap:8px;flex-wrap:wrap}.device-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 16px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--muted);transition:background-color .3s var(--ease),color .3s var(--ease)}.device-tabs button:hover{background:var(--raised);color:var(--text)}.device-tabs button[aria-selected=true]{color:var(--accent);background:var(--raised);border-color:var(--accent)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;margin:24px 0 0}.steps li{display:flex;align-items:flex-start;gap:12px}.step-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex:none;border:1px solid var(--border);border-radius:9999px;color:var(--muted);font-size:12px;line-height:16px}.steps li>span:last-child{min-width:0;font-weight:500}.steps a{color:var(--accent)}.steps a:hover{text-decoration:underline}.steps a .icon{width:16px;height:16px}.step-description{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:16px;font-weight:400}
.app-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 4px 0;color:var(--muted);font-size:12px;line-height:16px}.app-footer>img{object-fit:contain;opacity:.64}.app-footer a{display:inline-flex;align-items:center;gap:8px;min-height:44px;transition:color .3s var(--ease)}.app-footer a:hover{color:var(--text)}.app-footer .icon{width:16px;height:16px}
.entry-page{min-height:100svh;max-width:448px;margin:0 auto;padding:80px 24px 40px;display:flex;flex-direction:column;align-items:center;gap:32px;animation:enter .5s var(--ease) both}.entry-card{padding:32px;width:100%}.entry-card h1{margin-top:16px}.entry-card>p{color:var(--muted);margin-top:16px}.entry-card>.field-note{margin-top:16px}.entry-card .button{margin-top:24px}.entry-card p[data-login-message]{min-height:40px}
@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:900px){.mascot{right:0;width:160px}}
@media(max-width:767px){.app-shell{max-width:512px;padding:16px 16px 24px}.app-header{padding:8px 12px;border-radius:12px}.brand{font-size:18px;line-height:28px;gap:8px}.brand img{width:32px;height:32px}.account-main{padding-top:32px}.page-heading{margin-bottom:16px}.page-heading h1{font-size:20px;line-height:28px}.private-label{display:none}.account-grid{grid-template-columns:1fr;gap:12px}.subscription-card{min-height:264px;padding:24px}.expiry-block{margin-top:32px;margin-right:112px;padding-bottom:32px}.expiry-date{font-size:30px;line-height:36px}.mascot{width:144px;right:8px;bottom:40px}.connection-card{padding:24px}.disclosures{margin-top:12px}.disclosure summary{padding:16px 24px}.steps{grid-template-columns:1fr;gap:24px}.qr-content{flex-direction:column;gap:16px;text-align:center}.qr-content p{font-size:12px;line-height:20px}.device-tabs{gap:8px}.device-tabs button{flex:1;padding:8px;font-size:12px;line-height:16px;gap:4px}.device-tabs .icon{width:16px;height:16px}.entry-page{padding-top:64px}}
@media(max-width:359px){.subscription-card,.connection-card{padding:16px}.mascot{width:112px;right:0;bottom:48px}.expiry-block{margin-right:96px}.expiry-date{font-size:24px;line-height:32px}.copy-label{display:none}.disclosure summary{padding:16px}.disclosure-content{padding:0 16px 24px}.entry-card{padding:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
