:root{font-family:"Noto Serif SC","Songti SC","STSong",serif;color:#36313e;background:#fff;--purple:#8776ae;--dark:#443a54}*{box-sizing:border-box}body{margin:0;min-height:100vh}.art{position:fixed;inset:0;z-index:-1;background:#faf9fb}.art:before{content:"";position:absolute;inset:0;background:url('/assets/kikyo.jpg') left center/auto 100% no-repeat;opacity:.77;mask-image:linear-gradient(90deg,#000 42%,transparent 87%)}.glass{background:rgba(250,249,252,.76);border:1px solid rgba(255,255,255,.95);box-shadow:0 18px 55px #4a3f581b;backdrop-filter:blur(24px)}.header{height:68px;border-radius:20px;margin:24px 4%;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#302d35;letter-spacing:.13em;font-size:20px}.brand img{width:36px;height:36px;border-radius:50%}.brand span{font:11px system-ui;color:#958ba2;letter-spacing:.15em}nav{display:flex;gap:34px}nav a,footer a{color:#51485d;text-decoration:none;font-size:14px}nav a:hover,footer a:hover{color:#9a454e}main{max-width:1400px;margin:0 auto;padding:55px 5% 80px;display:grid;grid-template-columns:1fr minmax(390px,520px);gap:9%;align-items:start}.intro{padding:100px 0 0 3%}.eyebrow,.number{font:10px system-ui,sans-serif;letter-spacing:.22em;color:#8d7da4}.intro h1{font-weight:500;font-size:clamp(34px,4vw,56px);line-height:1.5;letter-spacing:.05em;margin:22px 0}.flourish{color:#9b89c5;letter-spacing:.1em}.intro p:last-child{line-height:2;color:#756e7a;font-size:15px;margin-top:28px}.workspace{border-radius:28px;overflow:hidden;min-height:520px}.tabs{display:flex;border-bottom:1px solid #e6e0eb;padding:0 26px}.tabs button{flex:1;padding:22px 5px;border:0;background:none;color:#8c8393;font:14px inherit;cursor:pointer;position:relative}.tabs button[aria-selected=true]{color:#604d78}.tabs button[aria-selected=true]:after{content:"";position:absolute;height:2px;background:#927db5;left:20%;right:20%;bottom:0}.pane{padding:36px 38px}.pane[hidden],[hidden]{display:none!important}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading h2{font-size:25px;font-weight:500;margin:9px 0}.badge{border:1px solid #d9d0e3;border-radius:20px;padding:6px 10px;color:#89779d;font:11px system-ui}.desc,.note{color:#81798a;font-size:13px;line-height:1.9;margin:12px 0 24px}.upload,.field{display:block;font-size:13px;color:#5a5062;margin:16px 0}.upload{border:1px dashed #ccc1d7;background:#ffffff70;border-radius:14px;padding:15px 17px;position:relative}.upload input{display:block;width:100%;margin-top:10px;font:12px system-ui;color:#73697c}.upload span{display:block;margin-top:8px;font-size:11px;color:#a29aaa}.upload small{color:#aaa}.field input{display:block;width:100%;margin-top:9px;border:1px solid #ddd5e4;border-radius:11px;background:#ffffffb0;padding:13px;font:14px system-ui;color:#453d50}.primary{width:100%;border:0;border-radius:12px;padding:15px 18px;background:#7e6a9b;color:white;font:14px inherit;cursor:pointer;text-align:left;margin-top:7px}.primary:hover{background:#6d5a89}.primary:disabled{opacity:.5}.primary span{float:right}.result{margin-top:20px;padding:17px;border-radius:12px;background:#f2edf6;color:#5d4a6d;font:13px/1.8 system-ui;overflow-wrap:anywhere}.result.error{background:#fbefef;color:#974b50}.result a{color:#6d568d}.key-card{background:#ffffff8c;border:1px solid #e9e3ed;border-radius:15px;padding:20px;display:grid;gap:12px}.key-card span{font-size:12px;color:#968b9c}.key-card code{font:12px/1.7 monospace;overflow-wrap:anywhere;color:#4d425b}.text-button{border:0;background:none;padding:0;color:#806c98;cursor:pointer;text-decoration:none;font:13px inherit}.session-line,.history-head{display:flex;justify-content:space-between;font-size:13px;color:#82788c}.history-head{align-items:center;margin-top:30px}.history-head h3{font-size:14px;font-weight:500}.history-item{border-top:1px solid #ebe5ed;padding:12px 0;font:12px/1.6 system-ui;overflow-wrap:anywhere}.history-item button{float:right}.message{padding:0 38px 20px;color:#a04f57;font:13px system-ui}footer{max-width:1400px;margin:auto;padding:10px 5% 30px;display:flex;justify-content:space-between;color:#aaa0af;font:11px system-ui}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #8e7caf;outline-offset:3px}@media(max-width:800px){.header{margin:12px 14px;padding:0 16px;height:58px}.brand{font-size:15px}.brand img{width:30px;height:30px}nav{gap:14px}nav a{font-size:12px}main{display:block;padding:36px 16px 55px}.intro{padding:30px 8px 32px}.intro h1{font-size:34px;margin:15px 0}.intro p:last-child{font-size:13px;margin-top:16px}.workspace{min-height:0}.pane{padding:27px 23px}.art:before{background-size:auto 76vh;background-position:40% top;mask-image:linear-gradient(#000 30%,transparent 83%)}footer{gap:12px;flex-wrap:wrap;padding:0 20px 24px}}

/* Keep the interface clear and readable on all screens. */
.tabs button{font:16px "Noto Serif SC","Songti SC",serif}.upload,.field,.desc,.note,.session-line,.history-head,.history-head h3,.text-button,.message{font-size:16px}.upload input,.field input,.key-card span,.key-card code,.history-item,.result{font-size:15px}.primary{font:16px "Noto Serif SC","Songti SC",serif}.intro p:last-child{font-size:17px}.workspace{min-height:0}.pane{padding-top:32px}.key-card{margin-top:22px}.message:empty{display:none}@media(max-width:800px){.brand{font-size:18px}.intro p:last-child{font-size:16px}.pane{padding:27px 23px}}

.bellflower{display:block;width:200px;max-width:45%;height:auto;margin:8px 0 2px;opacity:.9}@media(max-width:800px){.bellflower{width:150px;margin:2px 0}}
