@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:wght@500;600;700&display=swap');
:root{--paper:#faf4e5;--card:#fffdf7;--ink:#302c27;--muted:#746c60;--line:#ded5c3;--blue:#275e92;--sky:#e4eff8;--red:#b84132;--lemon:#f6e9a6;--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
body{background:var(--paper);color:var(--ink);font-family:var(--sans)}
.viewer{background:var(--paper);color:var(--ink);font-family:var(--sans);padding:0 32px 56px}
.viewer button,.viewer input,.viewer select,.viewer textarea{font-family:var(--sans)}
.v-header{min-height:96px;border-bottom:1px solid var(--line);gap:24px;position:relative}
.v-brand{font:700 30px/1.1 var(--serif);letter-spacing:-1px;color:var(--ink)}
.v-brand span{font:500 13px var(--sans);letter-spacing:0;color:var(--muted);margin-left:16px}
.v-header nav{gap:6px;flex-wrap:wrap}
.v-header nav a{color:var(--ink);font-size:14px;padding:12px 16px;border-radius:8px;font-weight:500}
.v-header nav a:hover{background:#eee6d5}
.v-header nav a[aria-current=page]{background:var(--sky);color:var(--blue);box-shadow:inset 0 -2px var(--blue)}
.v-header button{color:var(--muted);font-size:13px;text-decoration:none;padding:10px}
.viewer :focus-visible{outline:3px solid #4d8abb;outline-offset:3px}
.viewer label{font-size:12px;font-weight:600;color:#50483e;gap:7px}
.viewer input,.viewer select,.viewer textarea{background:var(--card);border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:44px;box-shadow:none}
.viewer input:hover,.viewer select:hover,.viewer textarea:hover{border-color:#ad9d83}
.viewer input[type=checkbox]{accent-color:var(--blue);min-height:16px}
.viewer input[type=search]{padding-left:14px}
.v-controls{gap:12px;margin-top:20px;margin-bottom:14px}
.v-count,.v-count span,.v-count span:first-child{color:var(--muted);font-size:12px}
.v-count button{color:var(--blue);text-decoration:none;font-weight:600}
.v-grid{gap:20px}
.v-card{border:1px solid var(--line);border-top:4px solid #83b3d8;border-radius:10px;background:var(--card);color:var(--ink);padding:22px;box-shadow:0 2px 3px #42311b08;transition:border-color .15s,box-shadow .15s}
button.v-card:hover{border-color:#7fa7c6;box-shadow:0 5px 14px #42311b0d}
.v-card h2{font:600 25px/1.16 var(--serif);letter-spacing:-.6px;margin:16px 0 9px}
.vc-top{font-size:11px;font-weight:600;color:#655b4c}
.vc-top b{background:var(--blue);font:600 20px var(--serif);height:34px;min-width:34px}
.vc-kind{color:var(--muted);font-size:11px}
.vc-body{font-size:15px;line-height:1.6;margin:20px 0;color:var(--ink)}
.vc-flavor{font:italic 13px/1.5 Georgia,serif;color:#877969}
.vc-id{color:#9b8f7d;font-size:10px;letter-spacing:.5px}
.v-memory{background:#fffbed;border-top-color:#d6b95e}
.vc-stats{border-color:#e5d9b2;padding:13px 0;gap:12px}
.vc-stats strong{font:600 24px var(--serif)}
.vc-stats small{color:#7b7055;font-size:10px}
.browse-tabs{gap:6px}
.browse-tabs>button{border-color:transparent;background:transparent;border-radius:7px;padding:10px 16px;color:var(--muted);font-size:13px;font-weight:600}
.browse-tabs>button[aria-pressed=true]{background:var(--sky);color:var(--blue)}
.browse-tabs>button:hover{background:#eee6d5}
.browse-tabs label{font-size:12px;color:var(--muted)}
.team-panel{margin:26px auto 28px}
.team-header h1,.deck-heading h1{font-family:var(--serif);font-weight:600;color:var(--ink)}
.team-header span,.deck-heading span,.deck-hint{color:var(--muted)}
#team-inputs{gap:18px}
#team-inputs fieldset{border:0;border-top:2px solid #a5c8e3;border-radius:0;padding:12px 0 0}
#team-inputs legend{font-size:12px;font-weight:600;color:var(--blue);padding:0 10px 0 0}
#team-inputs fieldset:nth-child(2){border-color:#d9be65}#team-inputs fieldset:nth-child(3){border-color:#cc8f7e}
.builder-layout{gap:28px;grid-template-columns:minmax(0,1fr) 340px}
.deck-editor{background:#f2ead8;border:0;border-radius:12px;padding:20px;top:16px;max-height:calc(100dvh - 32px)}
.deck-toolbar button,.import-button,.quantity button{border-color:var(--line);background:var(--card);color:var(--ink);border-radius:7px}
.deck-toolbar #save-deck{background:var(--card);color:var(--ink)}
.deck-toolbar #share-deck{background:var(--blue);color:white;border-color:var(--blue);flex:1}
.deck-toolbar button:hover,.quantity button:hover{border-color:#8aa8bd}
.deck-row{border-color:var(--line)}
.deck-card-name{font-weight:500}.deck-totals strong{font-size:14px}.deck-totals span{background:var(--lemon);color:#635124}
#share-result{background:var(--card);border:1px solid var(--line)}#share-result small{color:var(--muted)}
.memory-slot{border-color:#d1bb7a;color:#7c6532}.memory-slot.filled{background:#fff8dd;border-color:#d1bb7a}
.notes-label textarea{font:14px/1.5 var(--sans)}
.quantity{padding:10px;gap:14px}.quantity button{height:38px;width:38px;color:var(--blue)}
.mobile-deck-bar{background:var(--paper);border-color:var(--line)}.mobile-deck-bar button{background:var(--blue)}
.v-dialog::backdrop{background:#29251fc2}.v-close{background:var(--paper);color:var(--ink);font:500 14px var(--sans)}
.v-detail{padding:32px}.v-detail h2{font-size:34px}
.v-login h1{font-family:var(--serif)}.v-login button,#login button{background:var(--blue);border-color:var(--blue)}
#error{color:var(--red)}
.note-toolbar{background:var(--paper);border-bottom:1px solid var(--line);padding:20px 0 16px;gap:16px}
.note-toolbar button{background:var(--blue);border-color:var(--blue);font:500 14px var(--sans);min-height:44px}
.note-toolbar label:first-child{max-width:560px}.note-toolbar label:nth-child(2){min-width:190px}
#draft-status{font-size:12px;color:var(--muted);align-self:center}
.note-card{gap:12px}.note-card .v-card{padding:22px}.note-card textarea{font:14px/1.6 var(--sans);background:var(--card);min-height:112px;border-color:var(--line);border-left:3px solid #d8bd64;border-radius:7px;padding:12px}
.note-card textarea:focus{outline-color:#4d8abb}.note-card small{color:var(--muted)}
.submission{border-color:var(--line)}.submission summary{font-size:14px}.submission p{font-size:14px;line-height:1.6}
#book{max-width:800px;margin:32px auto}#rules{font:16px/1.8 var(--sans)}#rules h1{font:600 38px/1.15 var(--serif);letter-spacing:-1px}#rules h2{font:600 27px/1.2 var(--serif);border-color:var(--line);padding-top:25px;margin-top:48px}#rules h3{font:600 21px/1.3 var(--serif)}#rules td,#rules th{border-color:var(--line);padding:12px}#rules th{background:#f2ead8}#rules pre{background:#f0e9d9;border-radius:8px}#contents a{color:var(--blue);text-decoration:none;font-size:14px}#contents a:hover{text-decoration:underline}.contents{background:#f1eadb;padding:8px 18px;border-radius:8px}.contents summary{font-weight:600;font-size:14px}#print{background:var(--blue);border-color:var(--blue);color:white;padding:11px 14px;font-size:13px}
@media(min-width:801px){.viewer-mode .v-controls{grid-template-columns:2fr repeat(3,1fr) .8fr}.viewer-mode .v-search{grid-column:auto}}
@media(max-width:1000px){.builder-layout{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.deck-editor{padding:16px}}
@media(max-width:760px){.viewer{padding:0 18px 92px}.v-header{padding:20px 0 14px;gap:16px;align-items:start}.v-brand{font-size:27px}.v-brand span{display:none}.v-header nav{width:100%;gap:4px}.v-header nav a{padding:10px 12px;font-size:13px}.v-header nav button{margin-left:auto}.builder-layout{display:block}.v-card{padding:22px}.v-grid{gap:20px}.v-controls{gap:10px}.browse-tabs>button{padding:9px 12px}.browse-tabs label{margin-left:0}.viewer-mode .viewer{padding-bottom:32px}.team-header span{display:none}#team-inputs{gap:16px}.deck-editor{padding:20px;max-height:none}.v-count{gap:10px}.note-toolbar{padding:16px 0;gap:12px}.note-toolbar label:first-child{max-width:none}.note-toolbar button{width:100%}#draft-status{width:100%}.note-card{margin-bottom:12px}#rules h1{font-size:32px}#rules h2{font-size:25px}#book{margin:24px auto}#print{margin-left:0}.v-detail{padding:24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{body,.viewer{background:white!important;color:black!important}.v-header,.contents,.v-login,#error{display:none!important}.viewer,#book{padding:0;margin:0;max-width:none}#rules{font:11pt/1.5 Georgia,serif}#rules h2{margin-top:22px}}
.deck-toolbar #share-deck{flex-basis:100%;order:1}.deck-toolbar #save-deck,.deck-toolbar #new-deck{order:2;flex:1}#share-result{order:3}
