.error-boundary{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:16px;display:flex}.error-boundary p{max-width:420px;color:var(--color-text-muted)}.file-card{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:420px;padding:16px;display:flex}.file-card svg{width:64px;height:64px;color:var(--color-text-muted)}.file-card .file-card-name{word-break:break-all;max-width:100%;font-weight:500}.file-card .file-card-hint{color:var(--color-text-muted)}.microsoft-login-button{background-color:var(--color-white);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:12px;padding:10px 16px;font-size:13px;font-weight:500;line-height:1.5;transition:background-color .2s;display:flex}.microsoft-login-button svg{flex-shrink:0;width:16px;height:16px}.microsoft-login-button:hover:not(:disabled){background-color:var(--color-bg-subtle)}.microsoft-login-button:disabled{opacity:.6;cursor:not-allowed}.spinner{box-sizing:border-box;border:4px solid #00000040;border-top-color:var(--color-text);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spinner-rotate}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.status-card{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:420px;padding:24px 16px;display:flex}.status-card .status-card-code{letter-spacing:-.04em;color:var(--color-text-faint);font-size:88px;font-weight:600;line-height:1}.status-card .status-card-title{font-size:20px}.status-card .status-card-message{color:var(--color-text-muted)}.status-card .status-card-file{background-color:var(--color-white);max-width:100%;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-mono);word-break:break-all;padding:4px 10px;font-size:12px}.status-card .status-card-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}@media (width<=480px){.status-card .status-card-code{font-size:64px}}.login-page{background-color:var(--color-bg-subtle);justify-content:center;align-items:center;height:100%;padding:16px;display:flex}.login-page .login-card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:16px;width:100%;max-width:384px;padding:40px 32px;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.login-page .login-brand{align-items:center;gap:10px;display:flex}.login-page .login-logo{width:auto;height:24px;display:block}.login-page .login-product{font-size:16px;font-weight:600}.login-page .login-title{margin-top:32px;margin-bottom:4px;font-size:22px;font-weight:600;line-height:1.5}.login-page .login-description{color:var(--color-text-muted);margin-bottom:32px;font-size:13px;line-height:1.5}.login-page .login-error{text-align:center;color:var(--color-error);margin-top:16px;font-size:13px}.not-found-page{background-color:var(--color-bg-subtle);justify-content:center;align-items:center;height:100%;padding:16px;display:flex}.viewer-page{flex-direction:column;height:100%;display:flex}.viewer-page .viewer-header{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(67px,1fr) minmax(0,880px) minmax(36px,1fr);align-items:center;gap:12px;padding:12px 16px;display:grid}.viewer-page .viewer-header .icon-button{grid-column:3;justify-self:end}@media (width<=720px){.viewer-page .viewer-header{grid-template-columns:1fr auto}.viewer-page .viewer-header .viewer-form{grid-area:2/1/auto/-1}.viewer-page .viewer-header .icon-button{grid-area:1/2}}.viewer-page .viewer-logo{justify-self:start;width:auto;height:32px;display:block}.viewer-page .viewer-form{flex-wrap:wrap;grid-column:2;justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.viewer-page .viewer-field{flex:280px;align-items:center;gap:12px;min-width:0;max-width:720px;display:flex}.viewer-page .viewer-field span{white-space:nowrap}.viewer-page .viewer-input{background-color:var(--color-white);min-width:0;height:36px;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-base);flex:1;padding:0 12px;font-size:14px}.viewer-page .viewer-input::placeholder{color:var(--color-text-faint)}.viewer-page .viewer-canvas{background-color:var(--color-bg-subtle);flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.viewer-page .viewer-canvas .spinner{margin:auto;position:absolute;inset:0}.viewer-page .viewer-media{object-fit:contain;width:100%;height:100%;display:block}.viewer-page .viewer-media.is-hidden{visibility:hidden}.viewer-page .viewer-message{text-align:center;max-width:420px;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:12px;padding:16px;display:flex}:root{--color-white:#fff;--color-brand:#2563eb;--color-brand-dark:#1d4fbf;--color-text:#000;--color-text-muted:#74747b;--color-text-faint:#a9a9af;--color-border:#e4e4e7;--color-bg-subtle:#f7f7f8;--color-error:#d93944;--radius:7px;--font-base:"Geist", system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-base);color:var(--color-text);background-color:var(--color-white);font-size:14px;line-height:1.5}button,input{font:inherit;color:inherit}h1,h2,h3{font-weight:500}h1{font-size:20px}label{font-family:var(--font-mono);color:var(--color-text-muted);font-size:12px}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.button{border-radius:var(--radius);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;height:36px;padding:0 16px;text-decoration:none;transition:background-color .2s;display:inline-flex}.button:disabled{opacity:.5;cursor:not-allowed}.button-primary{background-color:var(--color-brand);color:var(--color-white)}.button-primary:hover:not(:disabled){background-color:var(--color-brand-dark)}.button-outline{background-color:var(--color-white);border-color:var(--color-border)}.button-outline:hover:not(:disabled){background-color:var(--color-bg-subtle)}.icon-button{width:36px;height:36px;color:var(--color-brand);border-radius:var(--radius);cursor:pointer;background-color:#0000;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .2s;display:inline-flex}.icon-button:hover:not(:disabled){background-color:var(--color-bg-subtle)}.icon-button:disabled{color:var(--color-text-faint);cursor:not-allowed}
