.loading{background:var(--bg);width:100vw;height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;position:relative}.loading:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(5,128,133,.04) 0%,transparent 70%);pointer-events:none}.loading-logo-wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:28px}.loading-logo-circle{width:140px;height:140px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;position:relative;animation:loading-drop .7s var(--ease-spring) .1s both;box-shadow:0 20px 60px #17458f38,0 4px 12px #17458f26}.loading-logo{width:72%;height:72%;object-fit:contain;display:block}@keyframes loading-drop{0%{opacity:0;transform:translateY(-60px) scale(.8)}60%{transform:translateY(6px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.loading-rings{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.loading-ring{position:absolute;top:50%;left:50%;width:140px;height:140px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid transparent;animation:loading-ripple 2.4s var(--ease-out) var(--rd, 0s) infinite}.loading-ring:nth-child(1){--rd: .8s;border-color:#05808580}.loading-ring:nth-child(2){--rd: 1.2s;border-color:#05808559}.loading-ring:nth-child(3){--rd: 1.6s;border-color:#05808533}.loading-ring:nth-child(4){--rd: 2s;border-color:#0580851a}@keyframes loading-ripple{0%{width:140px;height:140px;opacity:1}to{width:420px;height:420px;opacity:0}}.loading-text{text-align:center;animation:loading-text-in .8s var(--ease-out) .6s both}.loading-name{font-family:var(--font-display);font-size:clamp(28px,4vw,44px);letter-spacing:.18em;color:var(--blue);line-height:1}.loading-chapter{font-family:var(--font-body);font-size:12px;font-weight:400;letter-spacing:.12em;color:var(--ink-muted);margin-top:6px;text-transform:uppercase}@keyframes loading-text-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.wispr-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none}.wispr-svg{position:absolute;width:100%;height:100%;max-width:100%;max-height:100%;pointer-events:none}.wispr-svg circle{pointer-events:auto}.edit-button{position:absolute;top:24px;right:24px;z-index:10;padding:8px 18px;border-radius:9999px;background:var(--blue);color:var(--bg);font-family:var(--font-body);font-size:13px;font-weight:500;border:none;cursor:pointer;box-shadow:0 4px 12px #05808526;transition:opacity .2s ease,transform .2s ease;pointer-events:auto}.edit-button:hover{opacity:.9;transform:scale(1.02)}.edit-button:active{transform:scale(.98)}.edit-button.editing{background:var(--bg);color:var(--blue);border:1px solid var(--blue)}.wispr-wrapper.editing{z-index:3;pointer-events:auto}.edit-controls-bar{position:absolute;top:24px;right:24px;z-index:10;display:flex;gap:8px;pointer-events:auto}.control-btn{padding:8px 18px;border-radius:9999px;font-family:var(--font-body);font-size:13px;font-weight:500;border:none;cursor:pointer;box-shadow:0 4px 12px #05808526;transition:opacity .2s ease,transform .2s ease}.control-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.control-btn:active:not(:disabled){transform:scale(.98)}.control-btn:disabled{opacity:.4;cursor:not-allowed}.undo-btn,.reset-btn{background:var(--bg);color:var(--blue);border:1px solid var(--blue)}.done-btn{background:var(--blue);color:var(--bg)}.wispr-text{font-size:14px}@media (max-width: 768px){.wispr-wrapper{align-items:flex-end}.wispr-svg{width:150%;max-width:150%;left:50%;transform:translate(-50%);bottom:30px;height:auto;max-height:none}.wispr-text{font-size:26px}.loading-logo-wrap{transform:translateY(-45px)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--blue: #058085;--bg: #e6faf8;--ink: #058085;--ink-muted: rgba(5, 128, 133, .6);--font-display: "Bebas Neue", "Arial Narrow", sans-serif;--font-body: "DM Sans", "Helvetica Neue", sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}html,body,#root{width:100%;height:100%;min-height:100dvh}body{font-family:var(--font-body);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
