:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;color:#292c30;background:#e5e7eb;font-synthesis:none;-webkit-font-smoothing:antialiased;font-weight:400;--ink:#292c30;--muted:#85898f;--edge:rgba(255,255,255,.85);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:none}body{min-height:100svh;background:radial-gradient(ellipse at 26% 22%,rgba(255,255,255,.58),transparent 53%),radial-gradient(ellipse at 80% 76%,rgba(245,247,251,.5),transparent 52%),linear-gradient(135deg,#e5e7eb,#e1e4e9 55%,#e7e9ed);background-attachment:fixed}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.2' filter='url(%23n)'/%3E%3C/svg%3E")}button,input,textarea,select{font:inherit;color:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #737f98;outline-offset:5px}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}.screen{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 28px;animation:enter .65s var(--ease) both}h1,h2,p{margin:0}h1{font-size:clamp(46px,5.35vw,76px);font-weight:540;letter-spacing:-.045em;line-height:1.1}h2{font-size:32px;letter-spacing:-.035em;font-weight:500}p{line-height:1.65}small{font-size:13px;line-height:1.6}.landing{gap:76px;padding-bottom:50px}.landing h1{text-align:center}.mobile-break{display:none}.glass{border:1.5px solid var(--edge);background:linear-gradient(145deg,rgba(255,255,255,.27),rgba(240,243,249,.07) 45%,rgba(255,255,255,.17));box-shadow:inset 1px 2px 2px rgba(255,255,255,.75),inset -1px -2px 3px rgba(255,255,255,.5),0 18px 32px -18px rgba(57,66,83,.28),0 2px 5px rgba(46,57,80,.025);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.pill{border-radius:100px;min-height:72px;min-width:270px;padding:18px 38px;font-size:26px;letter-spacing:-.025em;transition:transform .45s var(--ease),box-shadow .4s,background .4s}.pill:hover{background-color:rgba(255,255,255,.18);transform:translateY(-2px);box-shadow:inset 1px 2px 2px rgba(255,255,255,.85),inset -1px -2px 3px rgba(255,255,255,.55),0 22px 36px -17px rgba(57,66,83,.3)}.pill:active{transform:scale(.965)}.pill.small{min-height:48px;min-width:140px;font-size:16px;padding:12px 24px}.quiet{border:0;background:none;padding:9px 12px;font-size:13px;color:#747981;transition:color .2s,opacity .2s}.quiet:hover{color:var(--ink)}.footlink{position:absolute;bottom:22px;font-size:12px;color:#858a93}.topbar{position:absolute;top:max(26px,env(safe-area-inset-top));left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#777d86;font-size:12px;letter-spacing:.01em}.back{min-width:40px;height:40px;border-radius:50%;font-size:23px;line-height:1;padding:0}.progress{width:102px;height:3px;background:rgba(130,139,152,.15);border-radius:3px;overflow:hidden}.progress span{display:block;height:100%;background:#9298a3;border-radius:3px;transition:width .55s var(--ease)}.progress-wrap{display:flex;align-items:center;gap:14px}.capture{gap:25px;padding-top:78px;padding-bottom:90px}.writing-card{position:relative;width:min(490px,76vw);height:min(490px,60svh);border-radius:44px;overflow:hidden;isolation:isolate;touch-action:none}.writing-card.wide{width:min(880px,88vw);height:330px}.writing-card canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none;z-index:2}.prompt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:330px;font-weight:300;color:rgba(128,135,147,.22);letter-spacing:-.04em;line-height:1;padding-bottom:8px;transition:opacity .3s}.wide .prompt{font-size:clamp(46px,6.7vw,90px);padding:25px;text-align:center;line-height:1.25}.prompt.sentence{font-size:clamp(23px,3.1vw,38px)}.guide-baseline{position:absolute;bottom:23%;left:12%;right:12%;height:1px;background:rgba(128,135,147,.10);opacity:0;transition:opacity .3s}.writing-card:has(canvas:hover) .guide-baseline{opacity:1}.writing-card.inking .prompt{opacity:.35}.writing-card.accepted{animation:accept .5s var(--ease)}.capture-note{color:#8b9099;font-size:12px;text-align:center;min-height:20px}.capture-toolbar{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));display:flex;gap:16px;align-items:center;justify-content:center}.circle{border-radius:50%;width:42px;height:42px;font-size:20px;padding:0;color:#737b86}.capture-label{font-size:13px;letter-spacing:.01em;color:#7d838c}.upload-screen{gap:28px}.upload-card{width:min(580px,83vw);min-height:400px;border-radius:44px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:21px;transition:transform .5s var(--ease),background .3s;padding:44px 24px;text-align:center}.upload-card:hover,.upload-card.dragover{transform:translateY(-3px);background-color:rgba(255,255,255,.18)}.upload-icon{width:112px;height:104px;color:#9399a3;margin-bottom:4px}.upload-title{font-size:36px;letter-spacing:-.025em;font-weight:450;line-height:1.2}.upload-sub{font-size:22px;color:#9398a1}.upload-note{font-size:12px;color:#90959d;text-align:center;max-width:430px}.files{width:min(580px,83vw);max-height:150px;overflow:auto;font-size:13px}.file{display:flex;gap:12px;justify-content:space-between;padding:10px 4px;border-bottom:1px solid rgba(140,149,160,.13)}.file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.file small{color:#858c95;font-size:11px}.upload-actions{display:flex;gap:18px;align-items:center}.hidden{display:none!important}.form-screen{justify-content:flex-start;padding-top:115px;gap:25px}.form-screen>p{color:#858a93;max-width:460px;text-align:center;font-size:14px}.panel{width:min(650px,90vw);border-radius:30px;padding:30px}.panel label{display:block;font-size:12px;color:#7d838c;margin:18px 0 8px}.panel label:first-child{margin-top:0}input[type=text],input[type=password],textarea,select{width:100%;border:1px solid rgba(255,255,255,.7);border-radius:14px;padding:13px 15px;background:rgba(255,255,255,.25);font-size:15px;outline-offset:3px}textarea{resize:vertical;min-height:140px;line-height:1.6}select{cursor:pointer}.row{display:flex;gap:14px;align-items:center}.row>*{flex:1}.row label{margin-top:15px}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:15px;word-break:break-all;line-height:1.8;letter-spacing:.02em;background:rgba(255,255,255,.25);border-radius:14px;padding:16px;text-align:center}.hint{font-size:12px;color:#8b9098;line-height:1.7;margin-top:12px}.stack{display:flex;flex-direction:column;gap:16px}.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:20px}.text-button{font-size:14px;min-width:130px}.badge{display:inline-block;border:1px solid rgba(135,144,157,.2);padding:4px 9px;border-radius:30px;font-size:10px;color:#7c8490;letter-spacing:.04em}.ready-title{font-size:clamp(36px,5vw,54px)}.document-preview{width:min(480px,85vw);box-shadow:0 14px 45px rgba(55,65,86,.13);margin:15px 0}.document-preview svg{width:100%;height:auto;display:block}.error{font-size:13px;color:#8e4d50;line-height:1.7}.tabs{display:flex;gap:7px;padding:5px;border-radius:28px;margin:8px 0}.tabs button{border-radius:22px;padding:9px 20px}.tabs .active{background:rgba(255,255,255,.45);color:#343a43}.tutorial{max-width:600px}.tutorial ol{padding-left:22px;color:#646c78;font-size:14px;line-height:1.9}.tutorial li{margin:12px 0}.tutorial code{font-size:12px;word-break:break-all}.tutorial-visual{border:1px solid rgba(255,255,255,.75);border-radius:14px;padding:16px;margin:10px 0;color:#59616e;font-size:12px;background:rgba(255,255,255,.17)}.tutorial-visual strong{display:block;margin-bottom:9px;font-weight:500}.tutorial-visual .mock-field{border:1px solid rgba(139,148,163,.25);padding:10px;border-radius:7px;margin-top:8px;font-family:ui-monospace,monospace;font-size:10px}.technical{font-size:12px;line-height:1.8;color:#7c8490}#toast{position:fixed;z-index:50;left:50%;bottom:32px;transform:translate(-50%,14px);max-width:88vw;padding:13px 22px;background:rgba(250,251,253,.88);backdrop-filter:blur(20px);border:1px solid white;border-radius:30px;box-shadow:0 8px 30px rgba(60,70,90,.10);font-size:13px;opacity:0;pointer-events:none;transition:all .3s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid rgba(255,255,255,.85);border-radius:28px;padding:35px;background:#e9ecf0;color:var(--ink);box-shadow:0 28px 100px rgba(40,48,65,.2);width:min(520px,90vw);max-height:85svh}dialog::backdrop{background:rgba(100,109,127,.18);backdrop-filter:blur(10px)}dialog h2{font-size:25px;margin-bottom:16px}dialog p{font-size:14px;color:#76808d}dialog .close{position:absolute;right:12px;top:9px;font-size:25px}#rotate{display:none;position:fixed;z-index:40;inset:0;background:radial-gradient(ellipse at 35% 20%,#f1f2f5,#e1e5eb);align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px;gap:20px;color:#737c8a}#rotate h2{color:#30353c}#rotate p{font-size:15px}#rotate small{font-size:11px;color:#9299a3}.spinner{width:15px;height:15px;border:1.5px solid rgba(120,130,145,.2);border-top-color:#7d8795;border-radius:50%;display:inline-block;animation:spin .8s linear infinite;vertical-align:middle;margin-right:7px}.save-status{position:absolute;left:50%;bottom:7px;transform:translateX(-50%);font-size:10px;color:#8c939e}.paper-preview{height:120px;border-radius:8px;background:#fff;margin:14px auto;width:86px;box-shadow:0 5px 15px #b5bdcc55;overflow:hidden}.paper-preview.lined{background:repeating-linear-gradient(white 0 11px,#dce1e9 11px 12px)}.paper-preview.grid{background-image:linear-gradient(#dce1e9 1px,transparent 1px),linear-gradient(90deg,#dce1e9 1px,transparent 1px);background-size:12px 12px}.setting-button{width:100%;text-align:left;font-size:13px;display:block;padding:14px 0;border:0;border-bottom:1px solid #d7dce4;background:none}.setting-button.danger{color:#99585e}.capture-tools-status{width:40px;text-align:center;font-size:12px;color:#848d99}@keyframes enter{from{opacity:0;transform:translateY(14px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}@keyframes accept{35%{opacity:.1;transform:scale(.97)}100%{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:600px){.screen{padding-left:22px;padding-right:22px}.landing{gap:44px;padding-bottom:64px}.landing h1{font-size:49px;line-height:1.04;letter-spacing:-.038em}.mobile-break{display:block}.landing .pill{min-width:200px;min-height:65px;font-size:23px}.writing-card{border-radius:33px}.upload-card{min-height:300px;border-radius:33px;gap:16px}.upload-title{font-size:27px}.upload-sub{font-size:18px}.upload-icon{width:90px;height:83px}.topbar{left:19px;right:19px;top:20px}.panel{padding:23px}.form-screen{padding-top:95px}.code{font-size:12px}.capture-toolbar{gap:11px}.pill.small{min-width:120px}.upload-screen .upload-note{max-width:290px}}@media(max-width:900px) and (orientation:portrait){body[data-screen="capture"] #rotate{display:flex}}@media(max-height:550px) and (orientation:landscape){.capture{padding:46px 65px 45px;gap:7px}.writing-card{height:calc(100svh - 110px);width:calc(100svh - 110px);border-radius:25px}.writing-card.wide{width:75vw;height:calc(100svh - 110px)}.prompt{font-size:200px}.capture-note{font-size:10px}.capture-toolbar{position:fixed;right:12px;bottom:50%;transform:translateY(50%);flex-direction:column;gap:10px}.capture-toolbar .pill{min-width:0;padding:10px;font-size:12px;min-height:40px}.capture-label{display:none}.wide .prompt{font-size:48px}.wide .prompt.sentence{font-size:24px}.topbar{top:9px;left:14px;right:14px}.progress{width:70px}.save-status{bottom:3px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
:root{accent-color:#8b939f}.range-label{display:flex!important;align-items:center;justify-content:space-between;gap:15px;font-size:12px;color:#7d838c;margin:24px 0 14px!important}.range-label output{font-variant-numeric:tabular-nums;color:#5e6877}.range{display:block;width:100%;height:5px;margin:18px 0 25px;cursor:pointer}.size-toggle{font-size:17px;letter-spacing:-.04em}

/* Direct window-edge resizing, without a toolbar or a visible resize grip. */
body[data-screen="capture"] main,.capture,.capture-stage,.writing-window,.writing-card,.writing-card *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.capture{padding-bottom:42px;gap:14px}.capture-stage{position:relative;width:min(1080px,calc(100vw - 70px));height:min(68svh,580px);flex:none;touch-action:none}.writing-window{position:absolute;isolation:isolate;touch-action:none}.writing-window .writing-card{width:100%;height:100%;max-width:none;max-height:none}.capture-label.quiet{padding:3px 12px;font-size:13px;color:#7d838c}.frame-edge{position:absolute;z-index:5;display:block;background:transparent;border:0;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.frame-edge:focus-visible{outline:1px solid #8e98a6;outline-offset:2px;border-radius:5px}.edge-n,.edge-s{left:22px;right:22px;height:18px;cursor:ns-resize}.edge-n{top:-8px}.edge-s{bottom:-8px}.edge-e,.edge-w{top:22px;bottom:22px;width:18px;cursor:ew-resize}.edge-e{right:-8px}.edge-w{left:-8px}.edge-ne,.edge-nw,.edge-se,.edge-sw{width:32px;height:32px;z-index:6}.edge-ne{top:-7px;right:-7px;cursor:nesw-resize}.edge-nw{top:-7px;left:-7px;cursor:nwse-resize}.edge-se{bottom:-7px;right:-7px;cursor:nwse-resize}.edge-sw{bottom:-7px;left:-7px;cursor:nesw-resize}.writing-window.resizing .writing-card{will-change:width,height}.writing-window.resizing .prompt{transition:none}
@media(pointer:coarse){.edge-n,.edge-s{height:26px}.edge-n{top:-12px}.edge-s{bottom:-12px}.edge-e,.edge-w{width:26px}.edge-e{right:-12px}.edge-w{left:-12px}.edge-ne,.edge-nw,.edge-se,.edge-sw{width:40px;height:40px}}
@media(max-height:550px) and (orientation:landscape){.capture{padding:44px 28px 24px;gap:7px}.capture-stage{width:calc(100vw - 64px);height:calc(100svh - 115px)}.writing-window .writing-card{width:100%;height:100%;border-radius:25px}.capture-note{font-size:10px}}

/* Static painted guide: no selectable glyph or editable text in the writing surface. */
body[data-screen="capture"],body[data-screen="capture"] #app,.capture,.capture *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}
.writing-card canvas.writing-guide{z-index:1;pointer-events:none;touch-action:none;transition:opacity .2s;opacity:1}.writing-card.inking canvas.writing-guide{opacity:.35}.writing-card canvas.writing-ink{z-index:3;touch-action:none!important;outline:none;-webkit-user-modify:read-only}.writing-card .guide-baseline{z-index:2;pointer-events:none}
.screen.capture{animation:none}
.minimal-upload{gap:44px}.minimal-upload .upload-count{font-size:16px;font-variant-numeric:tabular-nums;padding:10px 4px;min-width:24px;text-align:right;color:#737b86}.minimal-upload .upload-note{position:absolute;bottom:20px;max-width:80vw}.minimal-upload .pill{font-size:25px}.layout-screen{gap:36px;padding-top:80px;padding-bottom:35px}.layout-sheet{width:min(85vw,calc(58svh * var(--page-ratio,.707)));height:auto;aspect-ratio:var(--page-ratio,.707);border-radius:9px;overflow:hidden;background:#fff}.layout-sheet img{display:block;width:100%;height:100%;object-fit:contain}.layout-sheet img[hidden]{display:none}.connect-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.connect-screen{gap:28px}.connect-screen .tutorial{font-size:14px}.connect-screen .tutorial .code{font-size:12px}.connect-screen .tutorial>ol{margin-top:0}.connect-screen .tutorial>ol li{margin-bottom:16px}
.setup-prompt{border-top:1px solid rgba(135,144,157,.16);padding-top:20px;margin-top:4px}.setup-prompt label{margin-top:0}.setup-prompt textarea{margin:8px 0 16px;min-height:190px;max-height:260px;resize:none;font-size:13px;line-height:1.65;color:#606976}.setup-prompt .pill{display:block;margin:0 auto}.setup-prompt .hint{margin-top:10px}.manual-setup{color:#747d89;font-size:13px;line-height:1.8}.manual-setup summary{cursor:pointer}.manual-setup ol{padding-left:20px}.official-guide{display:block;text-align:center;margin-top:14px;font-size:11px}.ready-screen .panel{max-width:650px}
