:root{font-family:Yu Gothic UI,Meiryo,system-ui,sans-serif;color:#243c35;background:#f8faf7;font-synthesis:none;line-height:1.7;font-weight:500}*{box-sizing:border-box}body{margin:0}a{color:#078752;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,.button{border:1px solid #d6e5dd;border-radius:12px;padding:10px 18px;background:#fff;color:#2b4b3b;cursor:pointer;display:inline-block;font-weight:700;text-align:center}button:hover,.button:hover{background:#eff9f2;text-decoration:none}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#159a60;color:#fff;border-color:#159a60;box-shadow:0 4px #087b48}.primary:hover{background:#087b48;color:#fff}.danger{color:#bd3157}.large{padding:16px 30px;border-radius:14px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,3.2vw,42px);line-height:1.4;letter-spacing:.025em}h2{font-size:22px}h3{font-size:16px}header{background:#fff;min-height:96px;padding:18px max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #e5ede7}.brand{display:flex;gap:12px;align-items:center;color:#174e36;white-space:nowrap;font-size:25px;font-weight:900;line-height:1.4}.brand:hover{text-decoration:none}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#8a9d92}.brand-icon{display:block;color:#fff;background:#119b5f;font-size:36px;border-radius:17px;width:52px;height:54px;text-align:center;position:relative}.brand-icon span{font-size:15px;color:#ffe26c;position:absolute;top:-5px;right:0}nav{display:flex;align-items:center;gap:23px;flex-wrap:wrap}nav a{font-size:14px;font-weight:800;color:#3a4e44}nav button{font-size:12px;padding:7px 11px}.nav-create{background:#e9f7ee;padding:9px 13px;border-radius:10px;color:#078752}main{max-width:1240px;margin:auto;padding:32px 28px 70px;min-height:72vh}footer{border-top:1px solid #e1e9e2;max-width:1240px;margin:auto;padding:30px 28px;display:flex;gap:25px;align-items:center;flex-wrap:wrap;color:#88958c;font-size:12px}footer>a:first-child{font-weight:900;font-size:18px}.eyebrow{color:#0b9760;font-size:11px;letter-spacing:2.7px;font-weight:900;margin-bottom:15px}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:30px;padding:50px 32px 65px;background:radial-gradient(ellipse at 85% 45%,#def7d6 0,transparent 52%);border-radius:30px}.hero h1{font-size:clamp(34px,4.3vw,58px);line-height:1.5;letter-spacing:.035em;margin-bottom:25px}.hero em{font-style:normal;color:#11975e}.lead{color:#688074;line-height:2;font-size:15px;margin-bottom:30px}.muted{color:#7d8e84;font-size:13px}.hero .muted{margin-top:20px}.hero-art{height:380px;position:relative;display:grid;place-items:center}.decor-card{width:235px;height:300px;transform:rotate(9deg);background:#fff;box-shadow:0 22px 55px #336a3826;border:8px solid white;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:space-around;background:linear-gradient(145deg,#ecf8ed,#daf3d6);z-index:1}.decor-card>span{font-size:12px;color:#42835b;letter-spacing:4px;font-weight:900}.decor-card strong{font-size:150px;line-height:1;color:#1a9c5b;position:relative;font-family:Georgia,serif}.decor-card strong span{font-size:55px;color:#ffd656;position:absolute;right:-15px;top:-18px}.decor-card small{font-size:10px;letter-spacing:1px;color:#4b7b5d}.orbit{position:absolute;border:2px dashed #a6dab1;border-radius:50%;width:370px;height:370px}.orbit.two{width:300px;height:300px;border-color:#e3da8a}.spark{font-style:normal;position:absolute;z-index:2}.s1{font-size:55px;color:#ffcb49;top:3px;left:35px}.s2{font-size:65px;color:#f087a7;right:3px;bottom:30px}.art-label{position:absolute;bottom:0;left:10px;z-index:2;background:#fff4b6;padding:8px 20px;transform:rotate(-7deg);font-size:11px;font-weight:900;letter-spacing:2px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:32px 0 45px}.features section{border-top:3px solid #1b9e66;padding-top:25px}.features section:nth-child(2){border-color:#ee94b0}.features section:nth-child(3){border-color:#87cde0}.features b{font-size:10px;color:#8d9e92;letter-spacing:2px}.features h2{font-size:20px;margin:10px 0}.features p{font-size:13px;color:#7a8e80}.panel{background:#fff;border:1px solid #e1eae2;border-radius:18px;padding:25px;margin:20px 0}.panel summary{cursor:pointer;font-weight:800}.local-note{background:#fff5cb;border:1px solid #f0e2a2;padding:8px 14px;font-size:12px;border-radius:8px;margin-bottom:23px}.page-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:30px 0}.page-title h1{margin:0}.page-title .eyebrow{margin-bottom:6px}.catalogue-banner{padding:35px 35px 24px;border-radius:22px;background:linear-gradient(110deg,#e8f7e7,#f2f9db);margin-bottom:30px;position:relative;overflow:hidden}.catalogue-banner h1{margin-bottom:12px;font-size:34px}.catalogue-banner>p:last-child{font-size:14px;color:#6c8a76}.yellow-star{color:#efc84b;float:right;font-size:55px;line-height:1}.searchbar{display:flex;gap:12px;margin-bottom:20px}.search-input{display:flex;align-items:center;flex:1;background:#fff;border:1px solid #d7e5dc;border-radius:13px;padding:0 17px;gap:12px}.search-input span{font-size:28px;color:#198b59}.search-input input{border:0;margin:0;padding:16px 0;background:transparent}.filters{display:flex;align-items:flex-end;gap:15px;margin-bottom:25px}.filters label{font-size:11px;max-width:200px;margin:0;color:#6d8376}.filters input,.filters select{padding:8px 12px;margin-top:4px;font-size:13px}.count{margin-left:auto;font-size:11px;letter-spacing:1.5px;font-weight:900;color:#799182;white-space:nowrap;padding-bottom:12px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.character-card{color:inherit;background:#fff;border:1px solid #e0e9df;border-radius:19px;overflow:hidden;transition:transform .15s,box-shadow .15s}.character-card:hover{transform:translateY(-4px);box-shadow:0 12px 22px #235c2510;text-decoration:none}.card-image{height:245px;position:relative;background:#edf4e9}.card-image img{width:100%;height:100%;object-fit:contain}.badge{position:absolute;left:12px;top:12px;font-size:10px;background:#ffffffed;border-radius:30px;padding:4px 10px;color:#3b805b}.card-body{padding:18px}.card-body>small{color:#8a9e91;font-size:10px;letter-spacing:1px}.card-body h2{font-size:20px;margin:7px 0;overflow-wrap:anywhere}.card-body>p{font-size:12px;color:#748779;min-height:20px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{font-size:10px;background:#eff7e9;color:#559055;padding:4px 8px;border-radius:5px}.card-author{display:flex;justify-content:space-between;border-top:1px solid #edf0e9;margin-top:18px;padding-top:12px;font-size:11px;color:#7a8c7f}.no-image{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#b2c9b4;background:repeating-linear-gradient(135deg,#eef5e9,#eef5e9 20px,#eaf2e6 20px,#eaf2e6 40px)}.no-image span{font-size:85px;font-family:Georgia,serif;font-weight:700}.no-image small{letter-spacing:3px;font-size:9px}.tall{min-height:450px;border-radius:20px}.empty{text-align:center;padding:70px 20px;color:#859789;background:#fff;border:1px dashed #d2e1d1;border-radius:18px}.empty h2{font-size:19px}.empty p{font-size:13px}.empty-icon{font-size:48px;color:#65b17c}.pagination{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:35px;font-size:13px}.notice{background:#eaf5ec;border:1px solid #bfdbc6;padding:15px 20px;border-radius:12px}.error{background:#fff4f5;border-color:#f1d3d9;color:#974056}.detail-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:45px}.portrait{width:100%;max-height:760px;object-fit:contain;background:#edf5e8;border-radius:22px}.profile{background:#fff;padding:30px;border-radius:20px;border:1px solid #e1e9e0}.profile>h2{font-size:28px}.reading{color:#85998b;font-size:13px;margin-top:15px}.pill{display:inline-block;padding:4px 14px;background:#e8f8ec;border-radius:30px;color:#26864b;font-size:12px}.profile-field{border-top:1px solid #e2eae1;padding-top:20px;margin-top:25px}.profile-field h3{color:#328252}.profile-field p{font-size:14px}.prose{white-space:pre-wrap;overflow-wrap:anywhere}.related{display:block;margin:8px 0}.gallery{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.gallery img{width:110px;height:135px;object-fit:contain;background:#edf4e9;border-radius:10px}.gallery>div{display:flex;flex-direction:column;gap:5px}.gallery button{font-size:11px}.back{font-size:13px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}label{display:block;font-size:13px;font-weight:700;margin:15px 0}input,textarea,select{display:block;width:100%;border:1px solid #cedfd2;background:#fcfefb;border-radius:9px;padding:11px 13px;color:#2a4434;margin-top:7px;outline-offset:3px}textarea{resize:vertical;min-height:70px}input:focus,textarea:focus,select:focus{outline:2px solid #55bd83}.savebar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;position:sticky;top:0;z-index:3;background:#f8faf7f5;border:1px solid #dbe8dc;border-radius:12px;padding:15px}.savebar span{margin-right:auto;font-size:12px;color:#758f7b}.savebar button{font-size:12px}.upload-preview img{max-width:100%;max-height:380px;background:repeating-conic-gradient(#eee,#eee 25%,#fff 0%,#fff 50%) 50% / 20px 20px;border-radius:12px}.upload-preview p{font-size:13px}.author-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.author-grid .panel{margin:0}.avatar{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:#e7f4e7;color:#229153;font-size:22px}.narrow{max-width:700px}.actions{display:flex;gap:10px;flex-wrap:wrap}.tabs{gap:8px;border-bottom:1px solid #dce7dc;padding-bottom:20px}.tabs button{font-size:13px}.selected{background:#168f58;color:#fff}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.metrics .panel{margin:0}.metrics strong{display:block;font-size:24px;margin-top:15px;color:#268b59}.metrics small{color:#7b8d7f}.check{display:flex;align-items:center;gap:10px}.check input{width:auto;margin:0}.legal{position:fixed;z-index:10;top:10vh;border:1px solid #bdcfbc;box-shadow:0 0 0 100vmax #183c3277;border-radius:20px;max-width:700px;width:90%;max-height:80vh;overflow:auto;padding:30px}.legal p{font-size:14px}.admin-list .panel{overflow-wrap:anywhere}@media(max-width:1000px){header{flex-direction:column;align-items:flex-start;padding:18px 25px}nav{gap:18px}.cards{grid-template-columns:repeat(3,1fr)}.hero{padding:30px 10px}.hero-art{transform:scale(.85)}.metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){main{padding:20px 18px 45px}header{padding:16px 18px;gap:17px}.brand{font-size:22px}nav{gap:12px;justify-content:flex-start}nav a{font-size:12px}nav button{padding:5px 8px;font-size:10px}.hero{grid-template-columns:1fr;gap:0;padding:30px 5px 15px}.hero h1{font-size:37px}.hero-art{height:310px;margin-top:20px;transform:scale(.8);transform-origin:center center}.features{grid-template-columns:1fr;gap:15px;padding:20px 0}.features section{padding-top:16px}.features h2{margin:5px 0}.features p{margin-bottom:5px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-image{height:200px}.card-body{padding:12px}.card-body h2{font-size:17px}.card-body p{font-size:11px}.catalogue-banner{padding:25px 20px}.catalogue-banner h1{font-size:26px}.yellow-star{font-size:30px}.filters{flex-wrap:wrap;gap:10px}.filters label{max-width:calc(50% - 10px);flex:1}.count{width:100%;text-align:right;padding:0}.detail-grid,.editor-grid{grid-template-columns:1fr;gap:15px}.panel,.profile{padding:20px}.page-title{margin:20px 0;align-items:flex-start}.page-title h1{font-size:28px}.page-title .button{font-size:11px;white-space:nowrap}.savebar{padding:12px}.savebar span{width:100%}.savebar button{padding:8px 10px;font-size:11px}.author-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr;gap:10px}.metrics .panel{padding:15px}.metrics strong{font-size:19px}.metrics small{font-size:10px}footer{gap:15px;padding:25px 18px}.local-note{font-size:10px}.empty{padding:45px 16px}.empty h2{font-size:16px}.searchbar button{padding:10px 15px}.search-input{padding:0 10px}.search-input input{font-size:12px;min-width:0}.search-input span{font-size:20px}.tall{min-height:330px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.storage-items{list-style:none;padding:0}.related-results{display:grid;gap:8px;margin-top:12px}.storage-items li{border-bottom:1px solid #e1eae2;padding:8px 0}.storage-items code,.panel code{overflow-wrap:anywhere;word-break:break-word;font-size:12px}:root{--paper: #fffcf4;--ink: #344b3c;--green: #526f50;--line: #d6dbc8;--note: #f5ebc8;color:var(--ink);background:var(--paper)}body{background-image:radial-gradient(#879b6628 .7px,transparent .7px);background-size:14px 14px}a{color:#456b45}button,.button{border-color:var(--line);border-radius:7px;color:#435b43;background:#fffef9;font-weight:600;min-height:42px}button:hover,.button:hover{background:#eef2e5}.primary,.selected{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 3px #3e573c}.primary:hover,.selected:hover{background:#3e573c;color:#fff}button:disabled{opacity:.55}.danger{color:#a73550}.large{border-radius:9px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #55774b;outline-offset:4px}input:focus,textarea:focus,select:focus{outline-color:#55774b}header{background:#fffcf4f5;border-bottom:2px dashed #ccd6be;min-height:94px}.brand{color:#4c6849;font-weight:800}.brand-icon{background:#62815b;border-radius:12px 12px 4px}.brand small{color:#6c7b63}.brand-icon span{color:#e9c979}.nav-create{background:#e5edd7;color:#405f3d;border-radius:6px}nav a{font-weight:600}footer{border-top:2px dashed #ccd6be;color:#63725d}main{padding-top:28px}h1,.hero h1,.profile>h2{font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-weight:600;letter-spacing:.055em}.eyebrow{color:#91683b;font-weight:600;letter-spacing:2px}.muted,.lead,.reading{color:#62725e}.hero{background:radial-gradient(ellipse at 83% 40%,#e9edd8 0,transparent 57%);border-radius:5px}.hero em{color:#55794c}.decor-card{border-radius:4px;transform:rotate(5deg);background:linear-gradient(145deg,#f2f5e7,#dfe9d0);box-shadow:3px 12px 28px #485c3226}.decor-card:before{content:"";position:absolute;top:-20px;width:90px;height:30px;background:#eadba8b8;transform:rotate(-7deg)}.decor-card strong{color:#6c8c60}.decor-card>span,.decor-card small{color:#506e48}.orbit{border-color:#bdcba9}.orbit.two{border-color:#e3d5af}.s1{color:#dbb96d}.s2{color:#c994a1}.art-label{background:#f3e6ba;color:#695a38;box-shadow:1px 3px 5px #5a4c2012}.features section{background:#ffffffa8;border:0;border-top:4px solid #c5d6b2;padding:22px;border-radius:3px;box-shadow:0 4px 14px #4653310b}.features section:nth-child(2){border-color:#dfc4cb}.features section:nth-child(3){border-color:#c5dce0}.features b,.features p{color:#65715e}.panel,.profile{border:1px solid #e1e3d4;border-radius:6px;box-shadow:1px 5px 18px #3f522c0b;background:#fffefb}.panel h2,.editor-grid h2{color:#4a6444}.local-note{border:0;border-left:3px solid #d6c18a;border-radius:2px;background:#f5edcf;color:#685b3c}.catalogue-banner{padding:24px 4px 22px;background:none;border-radius:0;border-bottom:1px dashed #bdcbaa;overflow:visible;margin-bottom:26px}.catalogue-banner h1{font-size:clamp(26px,3vw,38px);line-height:1.65;max-width:100%;margin-bottom:10px}.catalogue-banner>p:last-child{color:#67775e}.yellow-star{color:#e1bf82;font-size:58px;transform:rotate(-12deg);margin:0 8px 0 20px}.search-input{border-color:#d1d8c0;border-radius:6px;background:#fffefb}.search-input span{color:#627f55}.filters label,.count{color:#5c6b53}.filters input,.filters select{background:#fffefb}.count{font-weight:600;letter-spacing:1px}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:6px 4px 14px}.character-card{padding:10px;border:0;border-radius:4px;box-shadow:2px 6px 20px #394e2921;transform:rotate(-.6deg);overflow:visible}.character-card:nth-child(3n+2){transform:rotate(.6deg)}.character-card:nth-child(3n){transform:rotate(-.3deg)}.character-card:hover{transform:translateY(-4px) rotate(0);box-shadow:2px 10px 24px #394e2928}.card-image{height:290px;background:#edf1e4;border-radius:2px;overflow:hidden}.badge{border-radius:3px;background:#fffdf2f2;color:#496642;left:9px;top:9px;border:1px solid #e4e7d9}.card-body{padding:18px 10px 10px}.card-body>small{color:#7c6849}.card-body h2{font-size:21px;color:#344b3c}.card-body>p,.card-author{color:#626f5c}.card-author{border-top:1px dashed #d9dfcf}.tags span{background:#edf0e0;color:#4f6846;border-radius:3px}.tags span:nth-child(2n){background:#f5ecd5;color:#77633b}.no-image{color:#718566;background:repeating-linear-gradient(0deg,#f2f4e8,#f2f4e8 27px,#dde4cd 28px)}.no-image small{color:#6d7e5e}.tall{border-radius:4px}.empty{border-radius:5px;background:#fffefaaa;border-color:#bdcbaa;color:#64715a}.empty-icon{color:#6a8858}.portrait{background:#eef2e3;border:10px solid #fff;outline:1px solid #e2e6d6;border-radius:3px;box-shadow:3px 8px 24px #3f522c14}.profile-field{border-top:1px dashed #d6dfc8}.profile-field h3{color:#526e46}.pill{background:#e9eedb;color:#4c683d;border-radius:4px}.gallery img{background:#edf1e3;border:5px solid white;outline:1px solid #dce3ce;border-radius:2px}.notice{border-radius:5px;background:#eef2e3;border-color:#c9d5b8;color:#405c38}.error{background:#fff1f0;border-color:#e9cbc7;color:#963f4b}input,textarea,select{background:#fffef9;border-color:#d1d9c2;border-radius:6px;color:#344b3c}input[type=checkbox]{accent-color:#526f50}.savebar{background:#f9f4e4fa;border:1px solid #d9d5ba;border-radius:5px;box-shadow:0 3px 10px #5a513115}.savebar span{color:#5f6e54}.avatar{background:#e6edda;color:#4a6941;border-radius:13px 13px 4px}.tabs{border-bottom:2px dashed #d0d9bf;gap:9px}.tabs button{border-radius:7px 7px 2px 2px;background:#f3eedb;border-color:#ddd8c2;color:#5a6549}.tabs .selected{background:#526f50;color:#fff;border-color:#526f50;box-shadow:none}.metrics strong{color:#4e7044}.metrics small{color:#617059}.legal{background:#fffdf5;border-radius:8px}.pagination{color:#5d6d53}.storage-items li{border-color:#dce2cf}@media(max-width:1000px){.cards{gap:20px}.card-image{height:245px}}@media(max-width:700px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:3px 0}.character-card,.character-card:nth-child(n){transform:none;padding:7px}.card-image{height:210px}.card-body{padding:12px 5px 6px}.card-body h2{font-size:17px}.hero h1{font-size:34px}.hero-art{transform:scale(.77)}.catalogue-banner{padding:15px 0 18px}.catalogue-banner h1{font-size:27px}.yellow-star{font-size:35px;margin-left:8px}.panel,.profile{padding:20px}.features section{padding:20px}.brand small{letter-spacing:1.3px}.savebar{top:6px}.page-title{flex-wrap:wrap}input,textarea,select{font-size:16px}.filters input,.filters select{font-size:14px}}@media(max-width:450px){.cards{grid-template-columns:minmax(0,1fr);gap:24px;padding:0 3px}.card-image{height:300px}.card-body{padding:16px 12px 12px}.card-body h2{font-size:22px}.card-body>p{font-size:13px}.badge,.tags span,.card-author{font-size:11px}.search-input input{font-size:14px}.pagination{gap:12px}.pagination button{padding:9px 13px}}.searchbar{align-items:stretch}.searchbar .search-input{margin:0}.searchbar>button{align-self:stretch}.character-card:nth-child(3n+2) .card-image{background:#f8f0d9}.character-card:nth-child(3n) .card-image{background:#f2e9ed}dialog.unofficial-notice{width:min(540px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;box-sizing:border-box;padding:clamp(24px,5vw,40px);border:1px solid #d4dace;border-radius:20px;background:#fffdf7;color:#293c32;box-shadow:0 24px 80px #243a3433}dialog.unofficial-notice::backdrop{background:#243a3480}dialog.unofficial-notice h2{font-size:clamp(22px,5vw,28px);line-height:1.6}dialog.unofficial-notice p{line-height:1.9}dialog.unofficial-notice button{width:100%;margin-top:16px}.profile-choices{display:flex;flex-wrap:wrap;gap:10px 18px}.profile-choices label{display:flex;align-items:center;gap:6px}.profile-choices input[type=checkbox]{width:auto}.birthday-inputs{display:flex;gap:16px}.birthday-inputs label{flex:1;min-width:0}.editor-grid fieldset{min-width:0;border:1px dashed #cbd3c4;border-radius:10px;padding:16px;margin:16px 0}.variant-editor{margin-bottom:1.5rem}.variant-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;padding:.8rem 0;border-bottom:1px solid #ddd5ca}.variant-row .prose{overflow-wrap:anywhere;max-height:12rem;overflow:auto}.variant-toggle{display:flex;align-items:center;gap:.4rem}.variant-toggle input{width:auto}.variant-row textarea{width:100%}@media(max-width:600px){.variant-row{grid-template-columns:1fr}}
