:root{--md-primary: #2f63d3;--md-on-primary: #ffffff;--md-primary-container: #e7efff;--md-on-primary-container: #001a42;--md-surface: #ffffff;--md-surface-container: #f7f9fc;--md-surface-container-high: #f0f4fa;--md-surface-container-highest: #e9eef6;--md-on-surface: #1b1b1f;--md-on-surface-variant: #45464f;--md-outline: #767780;--md-outline-variant: #dce3ee;--md-error: #ba1a1a;--md-on-error: #ffffff;--md-canvas-surround: #edf1f7;--md-scrim: rgba(0, 0, 0, .42);--md-shadow: 0 1px 3px rgba(27, 27, 31, .12), 0 1px 2px rgba(27, 27, 31, .08);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--duration-short: .16s;color-scheme:light}:root[data-theme=dark]{--md-primary: #adc6ff;--md-on-primary: #102f60;--md-primary-container: #294677;--md-on-primary-container: #d9e2ff;--md-surface: #121318;--md-surface-container: #1e2026;--md-surface-container-high: #292a30;--md-surface-container-highest: #34353b;--md-on-surface: #e4e2e9;--md-on-surface-variant: #c6c6d0;--md-outline: #90909a;--md-outline-variant: #45464f;--md-error: #ffb4ab;--md-on-error: #690005;--md-canvas-surround: #0c0e13;--md-scrim: rgba(0, 0, 0, .68);--md-shadow: 0 1px 3px rgba(0, 0, 0, .4);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{color:var(--md-on-surface);background:radial-gradient(circle at 50% -10%,#fff 0,#f5f8ff 48%,#eef4ff);font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}button,[role=button],input,select,textarea{outline:none}button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--md-primary) 45%,transparent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}#app{min-height:100vh}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.primary-button,.tonal-button,.text-button,.danger-button,.icon-button{min-height:38px;border:0;border-radius:7px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:650;transition:background var(--duration-short),color var(--duration-short),transform var(--duration-short)}.primary-button{background:var(--md-primary);color:var(--md-on-primary)}.tonal-button{background:var(--md-primary-container);color:var(--md-on-primary-container)}.text-button{background:transparent;color:var(--md-primary)}.danger-button{background:color-mix(in srgb,var(--md-error) 12%,transparent);color:var(--md-error)}.icon-button{width:38px;padding:0;background:transparent;font-size:20px}.primary-button:hover,.tonal-button:hover,.icon-button:hover{filter:brightness(.96)}.primary-button:active,.tonal-button:active,.icon-button:active{transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.field{display:grid;gap:7px}.field>span,.field>label{color:var(--md-on-surface-variant);font-size:13px;font-weight:600}.field input:not([type=range]):not([type=color]),.field select,.field textarea{width:100%;min-height:44px;border:1px solid var(--md-outline-variant);border-radius:var(--radius-sm);padding:9px 12px;color:var(--md-on-surface);background:var(--md-surface)}.field input[type=range]{width:100%;accent-color:var(--md-primary)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.top-app-bar{position:sticky;top:0;z-index:80;width:min(1240px,calc(100% - 40px));min-height:66px;margin:0 auto;padding:8px 28px;display:flex;align-items:center;gap:12px;background:color-mix(in srgb,var(--md-surface) 92%,transparent);border-bottom:1px solid var(--md-outline-variant);border-radius:0 0 12px 12px;box-shadow:0 8px 30px #2141780f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-lockup{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#4380ea,#214fb7);color:var(--md-on-primary)}.brand-mark svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.brand-copy{min-width:0}.brand-copy strong,.brand-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy span{color:var(--md-on-surface-variant);font-size:12px}.home-breadcrumb{margin-left:24px;display:inline-flex;align-items:center;gap:5px;color:#657083;font-size:13px}.top-app-spacer{flex:1}.theme-icon-button{width:40px;height:40px;padding:0;display:grid;place-items:center;border:1px solid transparent;border-radius:9px;color:var(--md-on-surface);background:transparent;cursor:pointer;transition:background var(--duration-short),border-color var(--duration-short),transform var(--duration-short)}.theme-icon-button:hover{border-color:var(--md-outline-variant);background:var(--md-surface-container)}.theme-icon-button:active{transform:scale(.94)}.app-ocr-commandbar{flex:0 0 64px;width:100%}.file-drop-zone{min-height:190px;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;border:1.5px dashed #9babc3;border-radius:9px;background:#f9fbffbf;cursor:pointer;transition:background var(--duration-short),border var(--duration-short)}.file-drop-zone.compact{min-height:210px;padding:24px}.file-drop-zone.dragging{border-color:var(--md-primary);background:var(--md-primary-container)}.file-drop-zone>span{color:#778397;font-size:13px}.drop-primary-line{display:flex;align-items:center;justify-content:center;gap:15px}.file-drop-zone .drop-icon{width:30px;height:30px;display:grid;place-items:center;color:#27364b}.drop-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.file-drop-zone strong{font-size:16px}.file-drop-zone .primary-button{min-height:40px;padding:0 22px;background:linear-gradient(180deg,#3974df,#2558c2);box-shadow:0 5px 12px #2f63d333}.drop-privacy{display:flex;align-items:center;gap:6px;margin-top:4px}.workspace-page{flex:1;height:100vh;min-height:620px;display:flex;flex-direction:column;overflow:hidden;background:var(--md-surface)}.workspace-commandbar{min-height:64px;padding:8px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--md-outline-variant);background:var(--md-surface)}.workspace-back{flex:0 0 36px;width:36px;height:36px;padding:0;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;line-height:1;cursor:pointer}.workspace-back:hover{background:var(--md-surface-container)}.workspace-heading{min-width:0}.workspace-heading h1{margin:0;font-size:14px;line-height:1.25}.workspace-heading span{display:block;max-width:52vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--md-on-surface-variant);font-size:12px}.workspace-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.workspace-grid{flex:1;min-height:0;display:grid;grid-template-columns:210px minmax(0,1fr) 300px}.workspace-grid.without-file{display:block;overflow:auto}.workspace-sidebar{min-width:0;padding:15px;overflow:auto;background:var(--md-surface)}.workspace-left{border-right:1px solid var(--md-outline-variant)}.workspace-right{border-left:1px solid var(--md-outline-variant)}.workspace-center{min-width:0;min-height:0;display:flex;flex-direction:column}.workspace-toolbar{flex:1 1 auto;min-width:0;min-height:44px;padding:2px 10px;display:flex;align-items:center;justify-content:center;gap:7px;overflow-x:auto}.workspace-canvas{flex:1;min-height:0;position:relative;overflow:hidden;background:var(--md-canvas-surround)}.workspace-mobile-switches,.mobile-tool-rail,.mobile-sheet-backdrop{display:none}.panel-title{margin:0 -15px 14px;padding:0 15px 13px;border-bottom:1px solid var(--md-outline-variant);font-size:14px;font-weight:750}.property-stack{display:grid;gap:18px}.view-controls{display:flex;align-items:center;gap:4px}.zoom-menu{position:relative}.zoom-menu summary{min-width:62px;padding:8px 10px;list-style:none;border:1px solid var(--md-outline-variant);border-radius:7px;text-align:center;font-variant-numeric:tabular-nums;color:var(--md-on-surface-variant);cursor:pointer}.zoom-menu summary::-webkit-details-marker{display:none}.zoom-menu-popover{position:absolute;z-index:90;top:calc(100% + 7px);left:50%;width:150px;padding:6px;transform:translate(-50%);border:1px solid var(--md-outline-variant);border-radius:9px;background:var(--md-surface);box-shadow:0 12px 28px #182d5026}.zoom-menu-popover .text-button{width:100%;justify-content:flex-start}.status-message{padding:10px 12px;border-radius:var(--radius-sm);background:var(--md-surface-container-high);color:var(--md-on-surface-variant)}.status-message.error{color:var(--md-error);background:color-mix(in srgb,var(--md-error) 10%,transparent)}.mobile-sheet-backdrop{position:fixed;inset:0;z-index:100;background:var(--md-scrim);align-items:flex-end}.mobile-sheet{position:relative;width:100%;max-height:82vh;padding:28px 20px calc(24px + env(safe-area-inset-bottom));overflow:auto;border-radius:26px 26px 0 0;background:var(--md-surface-container)}.sheet-handle{position:absolute;top:10px;left:50%;width:40px;height:4px;transform:translate(-50%);border-radius:99px;background:var(--md-outline)}.sheet-close{position:absolute;top:10px;right:14px;width:44px;height:44px;border:0;background:transparent;font-size:24px}@media(max-width:1100px){.workspace-grid{grid-template-columns:190px minmax(0,1fr)}.workspace-right{display:none}.workspace-mobile-switches{display:flex;padding:8px 12px;gap:8px;border-bottom:1px solid var(--md-outline-variant)}.mobile-sheet-backdrop{display:flex}}@media(max-width:720px){.top-app-bar{min-height:56px;padding-block:6px}.brand-copy span{display:none}.brand-mark{width:34px;height:34px}.theme-icon-button{width:38px;height:38px}.workspace-page{min-height:100dvh;height:100dvh;padding-bottom:calc(62px + env(safe-area-inset-bottom))}.workspace-commandbar{position:relative;flex:0 0 58px;height:58px;min-height:58px;padding:7px 10px}.workspace-heading{flex:1;min-width:0}.workspace-heading h1{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:15px}.workspace-heading span{display:none}.workspace-actions{flex:0 0 auto}.workspace-actions .primary-button{padding-inline:11px;white-space:nowrap}.workspace-actions .view-controls,.workspace-actions .secondary-action{display:none}.workspace-commandbar>.workspace-toolbar{position:absolute;z-index:25;top:58px;left:0;right:0;min-height:44px;justify-content:flex-start;border-bottom:1px solid var(--md-outline-variant);background:var(--md-surface)}.workspace-commandbar>.workspace-toolbar .view-controls .tonal-button{display:none}.workspace-commandbar>.workspace-toolbar::-webkit-scrollbar{display:none}.workspace-grid{display:block;min-height:0}.workspace-sidebar{display:none}.workspace-center,.workspace-canvas{height:calc(100dvh - 120px);min-height:calc(100dvh - 120px)}.workspace-mobile-switches{position:fixed;left:0;right:0;bottom:0;z-index:72;min-height:calc(62px + env(safe-area-inset-bottom));padding:6px 10px env(safe-area-inset-bottom);justify-content:space-around;border-top:1px solid var(--md-outline-variant);background:var(--md-surface)}.workspace-mobile-switches .tonal-button{min-width:112px;min-height:48px;padding:0 12px;background:transparent;color:var(--md-on-surface-variant)}.mobile-tool-rail{display:none}.file-drop-zone{min-height:240px;padding:24px 16px}}@media(max-width:560px){.top-app-bar{width:100%;border-radius:0;padding-inline:14px}.home-breadcrumb{display:none}.drop-primary-line{flex-wrap:wrap;gap:10px}.file-drop-zone{min-height:220px;padding:22px 14px}}:root[data-theme=dark] body{background:var(--md-surface)}:root[data-theme=dark] .file-drop-zone{border-color:var(--md-outline);background:var(--md-surface-container)}:root{--md-primary: #09796f;--md-on-primary: #fff;--md-primary-container: #d5eeea;--md-on-primary-container: #12534e;--md-surface: #f5f8fd;--md-surface-container: #eef2f8;--md-surface-container-high: #e3eaf3;--md-surface-container-highest: #dce5ef;--md-on-surface: #15243b;--md-on-surface-variant: #4c607a;--md-outline: #596f8b;--md-outline-variant: #cbd7e4;--md-canvas-surround: #e7edf5;--tool-glass: rgba(255,255,255,.62);--tool-glow: rgba(9,121,111,.08)}:root[data-theme=dark]{--md-primary: #79e9df;--md-on-primary: #082c2a;--md-primary-container: #193e43;--md-on-primary-container: #b5f5ed;--md-surface: #111c2d;--md-surface-container: #070c17;--md-surface-container-high: #1a2a40;--md-surface-container-highest: #233750;--md-on-surface: #f1f5ff;--md-on-surface-variant: #a8b8ce;--md-outline: #8a9eb9;--md-outline-variant: #2a3d53;--md-canvas-surround: #09111d;--tool-glass: rgba(17,28,45,.75);--tool-glow: rgba(121,233,223,.08)}body{background:var(--md-surface-container);font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}a:focus-visible{outline:2px solid var(--md-primary);outline-offset:5px}button,a,input,select{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}.tool-header{height:76px;padding:0 clamp(16px,4vw,64px);display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--md-outline-variant);background:var(--tool-glass);flex-shrink:0}.royu-brand{font-size:20px;font-weight:700;display:flex;align-items:center;gap:10px;letter-spacing:2px}.royu-brand i{width:8px;height:8px;background:var(--md-primary);border-radius:50%;box-shadow:0 0 20px var(--md-primary)}.royu-brand span{font-weight:400;font-size:12px;color:var(--md-on-surface-variant)}.tool-home{display:inline-flex;align-items:center;gap:5px;min-height:44px;font-size:13px;color:var(--md-on-surface-variant)}.tool-title{font-size:16px}.tool-privacy{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--md-on-surface-variant);font-size:12px}.theme-icon-button{flex-shrink:0;min-width:44px;min-height:44px;border:1px solid var(--md-outline-variant);background:transparent;border-radius:50%;display:grid;place-items:center;cursor:pointer}.toolbox-home{min-height:100dvh;background:radial-gradient(ellipse at 15% 25%,var(--tool-glow),transparent 55%),radial-gradient(ellipse at 90% 20%,color-mix(in srgb,#9174e7 7%,transparent),transparent 45%),var(--md-surface-container)}.toolbox-content{max-width:1280px;margin:auto;padding:clamp(52px,10vh,120px) 40px 32px}.eyebrow{font:10px/1.5 Consolas,monospace;letter-spacing:2px;color:var(--md-outline)}.toolbox-intro h1{font-size:clamp(36px,5vw,62px);letter-spacing:-2px;line-height:1.2;margin:22px 0;font-weight:600}.toolbox-intro h1 span{color:var(--md-primary)}.toolbox-intro p{color:var(--md-on-surface-variant);font-size:16px;margin:0}.tool-cards{margin-top:54px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tool-card{padding:30px;min-height:288px;border:1px solid var(--md-outline-variant);border-radius:24px;background:var(--tool-glass);box-shadow:inset 0 1px #ffffff0d;display:flex;flex-direction:column;transition:border-color .2s,transform .2s,background .2s}.tool-card:hover{transform:translateY(-4px);border-color:var(--md-primary);background:color-mix(in srgb,var(--md-surface) 85%,var(--md-primary) 4%)}.tool-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.tool-card-top .eyebrow{font-size:9px;letter-spacing:1px}.tool-card-icon{width:56px;height:56px;display:grid;place-items:center;color:var(--md-primary);border-radius:16px;background:var(--tool-glow);border:1px solid color-mix(in srgb,var(--md-primary) 20%,transparent)}.tool-card h2{font-size:23px;font-weight:600;margin:28px 0 10px}.tool-card p{font-size:13px;line-height:1.9;color:var(--md-on-surface-variant);margin:0 0 28px}.tool-card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;border-top:1px solid var(--md-outline-variant);color:var(--md-primary)}.tool-card-bottom span{color:var(--md-outline);font:10px Consolas,monospace;letter-spacing:1px}.toolbox-footer{display:flex;justify-content:space-between;gap:20px;margin-top:40px;font-size:11px;color:var(--md-outline)}.formatter-page{min-height:100dvh}.formatter-main{max-width:1600px;margin:auto;padding:32px clamp(16px,4vw,64px)}.formatter-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.formatter-heading h1{font-size:28px;margin:8px 0 0;font-weight:600}.formatter-heading p{color:var(--md-on-surface-variant);font-size:13px}.formatter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.formatter-actions button{min-height:44px}.indent-select{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--md-on-surface-variant)}.indent-select select{min-height:44px;border-radius:10px;border:1px solid var(--md-outline-variant);background:var(--md-surface);color:var(--md-on-surface);padding:0 8px}.import-action{margin-left:auto}.formatter-feedback{min-height:42px;padding:10px 0;color:var(--md-on-surface-variant);font-size:12px}.formatter-error{margin-top:14px;padding:12px 16px;border:1px solid var(--md-error);border-radius:12px;color:var(--md-error);overflow-wrap:anywhere;white-space:pre-wrap}.formatter-editors{display:grid;grid-template-columns:1fr 1fr;gap:18px}.formatter-editor{min-width:0;border:1px solid var(--md-outline-variant);border-radius:16px;overflow:hidden;background:var(--md-surface)}.formatter-editor header{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--md-outline-variant);gap:10px}.formatter-editor header label{font-size:13px;white-space:nowrap}.formatter-editor small{font-size:10px;color:var(--md-outline);margin-left:10px}.formatter-editor header .text-button{padding:0 10px;min-height:44px}.editor-file{font-size:11px;color:var(--md-outline);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formatter-editor textarea{display:block;width:100%;height:max(360px,calc(100dvh - 380px));border:0;padding:20px;resize:vertical;color:var(--md-on-surface);background:transparent;font:14px/1.8 Consolas,SFMono-Regular,monospace;tab-size:2;border-radius:0}.formatter-editor textarea:focus-visible{outline-offset:-3px}.formatter-note{font-size:11px;line-height:1.8;color:var(--md-outline)}.formatter-pane-switch{display:none}@media(max-width:760px){.tool-header{height:64px;padding:0 16px;gap:12px}.tool-header .tool-privacy{display:none}.tool-header .theme-icon-button{margin-left:auto}.tool-title{font-size:15px}.toolbox-content{padding:42px 20px 24px}.toolbox-intro h1{margin:16px 0}.tool-cards{grid-template-columns:1fr;gap:14px;margin-top:32px}.tool-card{min-height:0;padding:22px;border-radius:20px}.tool-card h2{margin-top:20px;font-size:21px}.tool-card p{margin-bottom:18px}.toolbox-footer{font-size:10px;margin-top:26px}.formatter-main{padding-top:24px}.formatter-heading{margin-bottom:18px}.formatter-heading h1{font-size:24px}.formatter-heading p{display:none}.formatter-actions{gap:8px}.formatter-actions .primary-button,.formatter-actions .tonal-button{padding:0 16px}.import-action{margin-left:0}.formatter-pane-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--md-outline-variant);border-radius:12px;margin-bottom:12px}.formatter-pane-switch button{flex:1;min-height:44px;border:0;border-radius:8px;background:transparent;cursor:pointer}.formatter-pane-switch button[aria-pressed=true]{background:var(--md-primary-container);color:var(--md-on-primary-container)}.formatter-editors{display:block}.formatter-editors[data-pane=input] .result-editor,.formatter-editors[data-pane=output] .source-editor{display:none}.formatter-editor textarea{height:max(320px,calc(100dvh - 440px));font-size:16px;padding:14px}}
