:root{--surface:#fff;--surface-soft:#f7f8fb;--line:#e5e8ef;--text:#1e2430;--muted:#6e7785;--accent:#315efb;--shadow:0 16px 40px rgba(30,36,48,.08)}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:linear-gradient(180deg,#f7f9ff 0,#f4f5f8 45%,#eef1f5 100%);color:var(--text);font-family:Inter,"Noto Sans TC","Noto Sans SC","Segoe UI",sans-serif}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand-wrap{display:flex;align-items:center;gap:12px;min-width:0}.brand-icon{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#315efb,#7b61ff);color:white;display:grid;place-items:center;font-size:20px;flex:0 0 auto;box-shadow:0 8px 20px rgba(49,94,251,.25)}.brand-title{font-size:1.05rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-subtitle{font-size:.78rem;color:var(--muted);margin-top:2px}.language-wrap{width:min(230px,42vw)}.converter-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.editor-panel{height:100%;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.result-panel{background:#fbfcff}.editor-head{min-height:58px;padding:12px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.editor-text{min-height:340px;border:0!important;border-radius:0!important;padding:16px;font-size:1rem;line-height:1.7;resize:vertical;box-shadow:none!important;background:transparent}.icon-btn{width:44px;height:44px;border-radius:50%}.context-hint{text-align:center;color:var(--muted);font-size:.88rem}.footer-shell{border-top:1px solid var(--line);background:rgba(255,255,255,.86)}.footer-toggle{border:0;background:transparent;padding:0;color:var(--text);font-weight:700}.footer-details{color:var(--muted)}.tech-grid{display:flex;flex-wrap:wrap;gap:8px}.tech-grid span{background:#fff;border:1px solid var(--line);padding:5px 9px;border-radius:999px;font-size:.8rem}.copyright{font-size:.82rem;color:var(--muted)}.context-menu{position:fixed;z-index:1000;width:min(330px,calc(100vw - 24px));background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 18px 60px rgba(0,0,0,.18);display:none}.context-menu.show{display:block}.context-title{padding:8px 10px 6px;font-size:.75rem;font-weight:800;color:var(--muted);text-transform:uppercase}.context-menu button{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;border-radius:9px;padding:10px;text-align:left;color:var(--text)}.context-menu button:hover{background:#f2f5ff}.context-sep{height:1px;background:var(--line);margin:6px 4px}.form-select,.form-control,.btn{border-radius:12px}.btn-primary{background:#315efb;border-color:#315efb}.form-check-input:checked{background-color:#315efb;border-color:#315efb}
@media(max-width:767.98px){.topbar .container-xl{align-items:flex-start!important}.brand-subtitle{display:none}.brand-title{font-size:.96rem}.brand-icon{width:38px;height:38px;border-radius:12px}.language-wrap{width:44vw}.converter-card{padding:14px;border-radius:16px}.editor-text{min-height:250px}.editor-row{gap:12px!important}.icon-btn{width:100%;border-radius:12px}.footer-shell{font-size:.92rem}}
@media(max-width:420px){.brand-title{max-width:145px}.language-wrap{width:46vw}.language-wrap .form-label{display:none}.converter-card{padding:12px}.editor-text{min-height:220px;padding:12px}.editor-head{padding:10px 12px}.btn-lg{font-size:1rem}}

.editor-help{padding:9px 14px 12px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted);background:rgba(248,249,252,.7)}
