@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#0b0e19;--panel:#161c2d;--panel2:#1c2236;--edge:#333b55;--text:#f3f4ff;--sub:#a3aec7;--dim:#77849f;--purple:#a58cff;--teal:#63d7ca;--danger:#ff8096}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans','Noto Sans JP',sans-serif;font-size:14px;line-height:1.65}button,input,select{font:inherit}button{cursor:pointer}a{color:var(--purple)}.shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;width:247px;min-width:247px;height:100vh;background:#101525;border-right:1px solid #2b3148;padding:28px 17px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;margin:1px 5px 52px}.brand-icon{width:41px;height:41px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#7158d3,#b9a5ff);color:#fff;font-size:23px;box-shadow:0 0 26px #8165df44}.brand strong{font-size:18px;letter-spacing:-.6px}.brand strong span{color:#b7a6fc}.brand small{display:block;font-size:9px;letter-spacing:2.5px;color:#7988a5;font-weight:700}.sidegroup{padding:0 16px 11px;color:#72819d;font-weight:800;font-size:10px;letter-spacing:1.8px}.nav{display:flex;width:100%;align-items:center;gap:14px;padding:13px 16px;margin-bottom:7px;border:1px solid transparent;background:transparent;color:#a7b0c7;border-radius:12px;text-align:left;font-weight:700}.nav span{font-size:18px;line-height:1}.nav.active{background:#27253f;border-color:#555075;color:#d9cfff}.nav:hover:not(.active){background:#1b2235;color:white}.sidebar-foot{margin-top:auto;padding:15px 10px;color:#bdc7db;font-size:12px;border-top:1px solid #293145}.sidebar-foot .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6fdbc7;margin-right:5px}.subtle{color:#6e7e9c;font-size:10px}.main{min-width:0;flex:1;padding:0 clamp(18px,3.3vw,54px) 70px;max-width:1560px;margin:auto}.topbar{height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #293044}.crumb{font-size:11px;letter-spacing:2px;font-weight:800;color:#76829f}.crumb span{margin:0 11px;color:#414e68}.crumb b{color:#b3a3ec}.platform{border:1px solid #30384f;background:#171c2b;border-radius:30px;padding:6px 14px;color:#a8b4cb;font-size:11px;font-weight:800;letter-spacing:1px}.platform i{display:inline-block;width:5px;height:5px;background:#a58cff;border-radius:100%;vertical-align:middle;margin:0 5px}.panel{display:none}.panel.on{display:block}.hero{margin:27px 0 22px;min-height:255px;position:relative;overflow:hidden;border:1px solid #393351;border-radius:21px;background:radial-gradient(circle at 76% 48%,#54419066,transparent 40%),linear-gradient(115deg,#24223d 15%,#181e31 100%);padding:40px clamp(25px,4vw,55px);display:flex;align-items:center;justify-content:space-between}.eyebrow,.secnum{color:#ad9feb;font-weight:800;letter-spacing:2.2px;font-size:10px}.spark{color:#67d4cf}.hero h1{font-size:clamp(28px,3.5vw,48px);line-height:1.32;margin:12px 0;letter-spacing:-2px}.hero h1 em{font-style:normal;color:#c1b0ff}.hero p,.page-intro p{color:#aeb9d0;margin:10px 0 0;font-size:13px}.hero-art{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;width:36%;min-width:175px}.hero-art img{width:min(210px,100%);height:210px;position:relative;z-index:1;object-fit:contain;filter:drop-shadow(0 17px 16px #0b0b218c)}.orbit{position:absolute;width:200px;height:200px;border:1px solid #a98bff3d;border-radius:50%;box-shadow:0 0 0 24px #a98bff0d,0 0 0 50px #a98bff08}.hero-tag{position:absolute;right:0;bottom:-16px;font-size:11px;padding:5px 11px;border:1px solid #71649c;background:#342e58;border-radius:30px;z-index:2}.actionstrip{display:flex;align-items:center;gap:9px;margin-bottom:15px;flex-wrap:wrap}.stretch{flex:1}.mode-pill{color:#a8a0d9;background:#28233d;border:1px solid #4c4267;padding:7px 10px;border-radius:30px;font-size:11px;white-space:nowrap}.btn{border:0;border-radius:11px;padding:11px 17px;font-weight:800;font-size:12px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:6px;min-height:40px;transition:filter .15s,transform .15s;white-space:nowrap}.btn:hover{filter:brightness(1.11);transform:translateY(-1px)}.btn-primary{background:linear-gradient(125deg,#9d83fc,#7962d9);color:#fff;box-shadow:0 7px 20px #8069ed22}.btn-secondary{background:#262b40;color:#dddff6;border:1px solid #48506b}.btn-ghost{color:#aab5d4;background:transparent;border:1px solid #393f53}.btn-outline{color:#bcc4e1;background:transparent;border:1px solid #46506c}.wide{width:100%;margin-top:11px}.filebtn{position:relative;cursor:pointer}.filebtn input{position:absolute;width:0;height:0;opacity:0}.alert{margin:0 0 22px;padding:11px 15px;border-left:3px solid #9082e9;border-radius:8px;color:#adb8d4;background:#1b2035;font-size:12px}.alert.error{border-color:var(--danger);background:#351e2b;color:#ffc2cc}.alert.good{border-color:var(--teal);background:#15332f;color:#bcf7e8}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:20px}.editor-col,.rightcol{display:flex;flex-direction:column;gap:20px}.card{background:linear-gradient(135deg,#1a2032,#171d2f);border:1px solid #353e54;border-radius:18px;padding:clamp(20px,2.5vw,30px);box-shadow:0 14px 32px #03071111}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:24px}.card h2{font-size:20px;margin:2px 0 0;letter-spacing:-.6px}.card h3{font-size:15px}.minitag{font-size:10px;font-weight:800;color:#c3b5f5;border-radius:30px;border:1px solid #554e73;background:#322a48;padding:5px 11px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.formgrid.less{margin-top:22px}.field{font-size:12px;font-weight:750;color:#bfcae1;display:block;min-width:0}.field.full{grid-column:span 2}.field input,.field select,.gift-toolbar input,.gift-toolbar select,.move-field input,.move-field select{display:block;width:100%;min-width:0;margin-top:8px;background:#111729;color:#f7f6ff;border:1px solid #38415f;border-radius:10px;outline:none;padding:11px 12px;height:44px;transition:border .15s}.field input:focus,.field select:focus,.gift-toolbar input:focus,.move-field input:focus{border-color:#af93ff;box-shadow:0 0 0 3px #8c78ec22}.field small{font-weight:400;color:#7f8baa;display:block;line-height:1.5;margin-top:5px;font-size:10px}.field input::placeholder{color:#646d86}.searchline{display:flex;align-items:center;gap:6px}.searchline input{flex:1}.searchline button{margin-top:8px}.tiny{background:#30324b;border:1px solid #525576;border-radius:9px;color:#d5cafe;padding:9px 12px;font-size:11px;font-weight:800;white-space:nowrap}.tiny:hover{background:#494166}.inlinecheck{display:flex;align-items:center;gap:8px}.inlinecheck input{width:17px;height:17px;margin:0}.head-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.stats{padding-top:3px}.statheading,.statrow{display:grid;grid-template-columns:84px 1fr 1fr;gap:10px;align-items:center}.statheading{font-size:11px;color:#7985a0;margin-bottom:8px}.statheading b:not(:first-child){text-align:center}.statrow{margin-bottom:10px}.statrow strong{font-size:12px;color:#e3e1ff}.statrow input{width:100%;background:#111729;border:1px solid #394361;border-radius:9px;padding:9px 8px;text-align:center;color:#fff;outline:none}.statrow input:focus{border-color:#a58cff}.statfoot{display:flex;justify-content:flex-end;gap:23px;border-top:1px solid #323a53;padding-top:15px;font-size:11px;color:#929fb8}.statfoot strong{color:#c1b0ff}.statfoot strong.error{color:#ff8c9d}.moves{display:grid;gap:12px}.moverow{display:grid;grid-template-columns:54px minmax(0,1fr) 75px;gap:9px;align-items:center}.moverow b{color:#aa98ef}.move-field input{margin-top:0}.help{font-size:12px;color:#8794b0;margin:-5px 0 15px}.filebig{border:1px solid #454466;background:#25263e;border-radius:13px;padding:18px 13px;display:flex;align-items:center;gap:13px;margin-bottom:17px;overflow:hidden}.fileicon{font-size:34px;color:#b29fff}.filebig div{min-width:0}.filebig b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.filebig small{color:#8f9abb;font-size:10px}.validation{font-size:12px;padding:10px 12px;border-radius:8px;color:#a0dccc;background:#1a3430}.validation.error{color:#ffb5c2;background:#3b2633}.preview{position:sticky;top:21px}.preview hr{border:0;border-top:1px solid #343b52;margin:25px 0}.preview h3{margin:5px 0}.muted{color:#9ba8c2}.mini{font-size:12px;line-height:1.85}.source-links{display:flex;flex-direction:column;gap:5px;margin-top:13px;font-size:12px}.smallcard{padding:21px}.smallcard h3{margin:9px 0}.page-intro{padding:36px 3px 25px}.page-title{font-size:clamp(29px,4vw,42px);letter-spacing:-1px;margin:5px 0}.page-title em{font-size:25px;color:#b4a0ff}.gift-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.gift-toolbar input,.gift-toolbar select{margin-top:0;flex:1;min-width:175px}.gift-toolbar select{max-width:180px}.gift-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:19px}.gift-card{padding:17px;background:#20283c;border:1px solid #3b4663;border-radius:13px;min-width:0}.gift-card h3{font-size:13px;line-height:1.55;margin:9px 0;overflow-wrap:anywhere}.gift-card p{font-size:11px;color:#9aa7bf;margin:3px 0 11px;overflow-wrap:anywhere}.gift-card .tags{display:flex;gap:5px;flex-wrap:wrap}.gift-card .tags span{border:1px solid #54517e;border-radius:20px;color:#c6bbff;padding:2px 8px;font-size:10px}.gift-card .actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.gift-card .btn{font-size:11px;padding:8px 10px;min-height:34px}.gift-status{font-size:12px;margin-top:16px;color:#aab7cf}.prose{max-width:900px}.prose h2{margin:25px 0 10px;font-size:19px}.prose p,.prose li{font-size:13px;line-height:2;color:#b5bfd4}#toast{position:fixed;bottom:22px;right:22px;max-width:400px;border:1px solid #7467a9;background:#302b4b;color:#fff;padding:12px 18px;box-shadow:0 15px 40px #0008;border-radius:13px;z-index:10;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s;font-size:13px}#toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.editor-grid{grid-template-columns:minmax(0,1fr) 245px}.sidebar{width:200px;min-width:200px}.brand strong{font-size:15px}.main{padding:0 20px 60px}.preview{position:static}.hero{padding:30px}.hero-art img{height:160px}}
@media(max-width:790px){.shell{display:block}.sidebar{height:auto;position:sticky;z-index:5;width:100%;min-width:0;padding:10px 15px;background:#11172af4;backdrop-filter:blur(15px);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;border-right:none;border-bottom:1px solid #3e4560}.brand{margin:0}.brand-icon{width:32px;height:32px;font-size:17px}.brand strong{font-size:14px}.brand small{font-size:7px;letter-spacing:1px}.sidebar nav{display:flex;gap:3px}.nav{font-size:0;width:44px;height:39px;margin:0;justify-content:center;padding:7px}.nav span{font-size:20px}.sidegroup,.sidebar-foot{display:none}.main{padding:0 15px 55px}.topbar{height:49px}.editor-grid{display:block}.editor-col{gap:15px}.rightcol{margin-top:15px}.hero{min-height:210px;padding:24px}.hero-art{width:38%;min-width:112px}.hero-art img{height:137px}.orbit{width:130px;height:130px}.hero-tag{bottom:5px;right:-10px}.hero h1{font-size:30px}.hero p{font-size:11px}.card{margin-bottom:0}.preview{position:static}}
@media(max-width:480px){.hero{min-height:184px;padding:22px 18px}.hero h1{font-size:25px;letter-spacing:-1px}.hero p{max-width:220px;font-size:10px}.hero-art{min-width:95px}.hero-art img{height:114px}.orbit{width:95px;height:95px}.hero-tag{right:-8px;bottom:2px;font-size:9px}.eyebrow{font-size:9px}.formgrid{gap:13px}.formgrid .field{font-size:11px}.field input,.field select{height:42px;font-size:13px;padding:8px}.card{padding:18px 15px;border-radius:14px}.card h2{font-size:18px}.actionstrip .btn{padding:9px 11px;font-size:10px}.mode-pill{font-size:10px;padding:5px 7px}.statheading,.statrow{grid-template-columns:45px 1fr 1fr;gap:8px}.head-actions .tiny{padding:6px 8px}.gift-toolbar input,.gift-toolbar select,.gift-toolbar .btn{max-width:unset;width:100%}.moverow{grid-template-columns:34px minmax(0,1fr) 65px;gap:5px}.mini{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.hyper-zone{margin:19px 0 11px;padding:14px 0;border-top:1px solid #333e59;color:#b6bfdd;font-size:11px}.hyper-zone strong{display:block;margin-bottom:9px}.hyper-list{display:flex;gap:9px;flex-wrap:wrap}.hyper-list label{background:#222941;padding:6px 9px;border:1px solid #39415c;border-radius:7px;cursor:pointer}.hyper-list input{accent-color:#a58cff;vertical-align:middle}.moverow{grid-template-columns:36px minmax(0,1fr) 70px 68px}.moveheads{display:grid;grid-template-columns:36px minmax(0,1fr) 70px 68px;gap:9px;font-size:10px;color:#8c9cb8;margin:0 0 10px}.moverow .move-field input{padding:8px;font-size:12px}.moverow b{font-size:11px}.gift-card .actions{gap:7px}.gift-card .actions button{flex:1 1 auto}.gift-card .actions button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:480px){.moverow,.moveheads{grid-template-columns:22px minmax(0,1fr) 48px 45px;gap:4px}.moverow .move-field input{padding:7px 4px;font-size:12px;text-align:center}.moverow .btn{font-size:10px}}

/* Japanese input assistance */
.moverow{grid-template-columns:28px minmax(0,1fr) 68px 62px;gap:7px;align-items:start}
.moveheads{display:grid;grid-template-columns:28px minmax(0,1fr) 68px 62px;gap:7px}
.move-field{min-width:0}
.jp-combo{position:relative;min-width:0;width:100%;margin-top:8px}
.move-field .jp-combo{margin-top:0}
.jp-combo>.jp-search{margin:0!important;width:100%;height:44px;background:#111729;border:1px solid #394361;color:#fff;border-radius:10px;padding:10px 12px;outline:none}
.jp-combo>.jp-search:focus{border-color:#af93ff;box-shadow:0 0 0 3px #8c78ec22}
.jp-combo>.jp-search[aria-invalid="true"]{border-color:#ff849e}
.jp-suggestions{position:absolute;top:calc(100% + 5px);z-index:80;left:0;right:0;max-height:250px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #675b94;border-radius:12px;background:#1a2034;box-shadow:0 12px 28px #050711dd;padding:5px}
.jp-suggestions[hidden]{display:none}
.suggest-option{display:block;width:100%;border:0;border-radius:8px;color:#e5e7ff;background:transparent;text-align:left;font-size:12px;min-height:39px;padding:9px 10px;white-space:normal;overflow-wrap:anywhere}
.suggest-option:hover,.suggest-option[aria-selected="true"]{background:#40365e;color:white}
.suggest-none{padding:11px;color:#9da6c6;font-size:12px}
.id-caption,.pp-caption{font-size:10px;color:#8996b3;display:block;margin-top:5px;font-weight:400;line-height:1.45}
.pp-caption{max-width:85px;overflow-wrap:anywhere}
.form-select{display:block;width:100%;background:#111729;border:1px solid #394361;color:#fff;margin-top:8px;border-radius:10px;padding:10px;height:44px}
.dict-status{color:#85d3c8;font-size:10px;line-height:1.65;margin:2px 0 18px}
#inputError{margin:0 0 17px}
@media(max-width:480px){.moverow,.moveheads{grid-template-columns:18px minmax(0,1fr) 56px 48px;gap:4px}.move-field input{padding:8px 5px}.jp-combo>.jp-search{padding:9px 7px;font-size:12px}.moveheads{font-size:10px}.moverow b{font-size:12px}}
