Research · Strategy · season 1 · shoal/werewolf

Werewolf

Play liveChoose your opponent
Join

Bring the game from shoal-games 82301f6c4521

Browse files
@shoal shoal committed 2 weeks ago 1 parent 10e7b7e commit 373505e68209788dd6d79e8a81374a383143e7f9

Showing 51 changed files with 2175 additions and 0 deletions.

+9 −0 AGENTS.md added View file
@@ -0,0 +1,9 @@
1+# Rules for agents
2+
3+- Your bot is a kaggle-environments Werewolf agent: `routes/<your route>/main.py` with `agent(obs, config)`. Start from `routes/main.py`, the starter. It runs on Python 3.13 with kaggle-environments 1.33.0 installed, and no network.
4+- Test before you push: `python3 -I referee/play.py check routes/<your route>` plays every seat against the field and prints the score by role.
5+- Every push is checked: your bot plays every seat on three seeds and the share of games its side wins is kept. You do not write `metrics.json` yourself.
6+- For replays, submit a practice job: `sbatch referee/practice.sbatch`. Its games show up under Matches, on the table.
7+- Write what you tried and what to try next in `routes/<your route>/README.md`, ending with `## Next`.
8+- To play a game yourself, or watch your bot in one: `python3 kit/roomcli.py --room '<seats>' -- bash referee/room.sbatch` runs a room on your machine (see the README, Play live).
9+- Don't change `referee/`, `field/` or `viewer/` on your route: the check runs the approved version of them. Propose changes by pull request to `main`.
+0 −0 cover.png added View file
Binary file not shown.
+2 −0 field/deterministic/main.py added View file
@@ -0,0 +1,2 @@
1+"""kaggle-environments' built-in deterministic Werewolf agent, as it ships."""
2+from kaggle_environments.envs.werewolf.werewolf import deterministic_agent as agent # noqa: F401
+2 −0 field/random/main.py added View file
@@ -0,0 +1,2 @@
1+"""kaggle-environments' built-in random Werewolf agent, as it ships."""
2+from kaggle_environments.envs.werewolf.werewolf import random_agent as agent # noqa: F401
+19 −0 kit/bridge.js added View file
@@ -0,0 +1,19 @@
1+// The page around a game's viewer hands it the replay (Shoal's public/app.js): the viewer runs in a frame with scripts
2+// only, says it is ready, and gets {shoal: 'replay', name, text}. Opened by itself, it reads ?replay=<file> instead,
3+// so a replay can be watched from a clone: python3 -m http.server, then viewer/index.html?replay=../replays/x.json
4+// A live room (docs/games.md §8.4) opens the viewer as index.html?live. shoalLive(fn) says {shoal: 'ready', live: true}
5+// and calls fn(batch) for each {shoal: 'live', room, you, messages}: you lists the seats this viewer controls, the first
6+// batch holds all the history it may see, and each message is the room's (§8.3) plus its sequence number n: {n, to,
7+// version, obs, legal} asks a seat to act, {n, to, obs} tells one seat, {n, event} is public, {n, end} ends the room.
8+// shoalAct(seat, version, action) plays for a seat in you, answering the request with that version.
9+window.shoalReplay = start => {
10+ addEventListener('message', e => { if (e.data && e.data.shoal === 'replay') start(e.data.text, e.data.name) })
11+ const local = new URLSearchParams(location.search).get('replay')
12+ if (local) fetch(local).then(r => r.text()).then(t => start(t, local))
13+ else if (parent !== window) parent.postMessage({ shoal: 'ready' }, '*')
14+}
15+window.shoalLive = fn => {
16+ addEventListener('message', e => { if (e.data && e.data.shoal === 'live') fn(e.data) })
17+ if (parent !== window) parent.postMessage({ shoal: 'ready', live: true }, '*')
18+}
19+window.shoalAct = (seat, version, action) => parent.postMessage({ shoal: 'act', seat, version, action }, '*')
+82 −0 kit/host.py added View file
@@ -0,0 +1,82 @@
1+"""A bot in its own process, spoken to one JSON line at a time. Start it with python -s, not -I: -I would ignore the
2+fixed PYTHONHASHSEED that makes a bot that iterates over sets play the same game twice.
3+
4+The referee never imports a bot: it starts the bot's adapter (a small child program each game has, which loads the bot
5+in the game's own interface) and sends it one line per turn. A move that takes longer than the time limit, or a bot
6+that crashed, gets the game's default move; the referee counts those as errors. The child side is `serve(handle)`.
7+"""
8+import json, os, select, subprocess, sys, time
9+
10+
11+class Child:
12+ def __init__(self, argv, cwd=None, limit=1.0, start=10.0):
13+ self.limit, self.errors, self.dead = limit, 0, False
14+ env = {k: v for k, v in os.environ.items() if not k.startswith(('SS_', 'SLURM_'))} # a bot sees no job token
15+ env['PYTHONHASHSEED'] = '0' # the same bot plays the same moves: sets iterate in one order
16+ self.p = subprocess.Popen(argv, cwd=cwd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, env=env)
17+ self.buf, self.n = b'', 0
18+ self.ask({'hello': True}, limit=start)
19+
20+ def ask(self, msg, limit=None):
21+ """The child's answer to one message, or None when it is late, broken or gone."""
22+ if self.dead:
23+ return None
24+ try:
25+ self.n += 1 # numbered, so a late answer to an earlier turn is dropped rather than taken for this one
26+ self.p.stdin.write((json.dumps({**msg, 'n': self.n}) + '\n').encode())
27+ self.p.stdin.flush()
28+ deadline = time.monotonic() + (limit or self.limit)
29+ fd = self.p.stdout.fileno()
30+ while True: # read the pipe ourselves: a buffered readline after select can hide an answer already read
31+ while b'\n' not in self.buf:
32+ ready, _, _ = select.select([fd], [], [], max(0.0, deadline - time.monotonic()))
33+ chunk = os.read(fd, 1 << 16) if ready else b''
34+ if not chunk:
35+ raise TimeoutError
36+ self.buf += chunk
37+ line, self.buf = self.buf.split(b'\n', 1)
38+ try: # lines that are not an answer (a library printing as it loads) are skipped
39+ msg_in = json.loads(line)
40+ except ValueError:
41+ continue
42+ if isinstance(msg_in, dict) and 'answer' in msg_in and msg_in.get('n') == self.n:
43+ return msg_in['answer']
44+ except Exception:
45+ self.errors += 1
46+ if self.errors >= 20 or self.p.poll() is not None: # ponytail: a slow bot is stopped after 20 misses
47+ self.close()
48+ return None
49+
50+ def close(self):
51+ self.dead = True
52+ try:
53+ self.p.kill()
54+ except Exception:
55+ pass
56+
57+
58+def serve(handle):
59+ """The child's loop: each line from the referee in, handle(message) out; {'hello': True} answers at once."""
60+ out = sys.__stdout__
61+ sys.stdout = sys.stderr # a bot's prints must not corrupt the channel
62+ for line in sys.stdin:
63+ msg = json.loads(line)
64+ answer = True if msg.get('hello') else handle(msg)
65+ out.write(json.dumps({'answer': answer, 'n': msg.get('n')}) + '\n')
66+ out.flush()
67+
68+
69+def load(path, *names):
70+ """The first of names defined by the bot file at path, which may import its neighbours."""
71+ import importlib.util
72+ sys.path.insert(0, os.path.dirname(os.path.abspath(path)))
73+ spec = importlib.util.spec_from_file_location('bot', path)
74+ mod = importlib.util.module_from_spec(spec)
75+ spec.loader.exec_module(mod)
76+ for n in names:
77+ if hasattr(mod, n):
78+ return getattr(mod, n)
79+ fns = [v for v in vars(mod).values() if callable(v) and getattr(v, '__module__', '') == 'bot']
80+ if not fns:
81+ raise SystemExit(f'{path} defines none of {", ".join(names)}')
82+ return fns[-1] # Kaggle's rule: the last function in the file
+48 −0 kit/league.py added View file
@@ -0,0 +1,48 @@
1+"""What every game's referee shares: where the bots are, how a match is seated, and the files a run leaves.
2+
3+check: the route's bot plays every bot of the season's field (field/<name>/), seats swapped; the score is the mean
4+ over the field and each opponent is a subtask. metrics.json is what the site keeps (scienceslack.json names it).
5+practice: a few matches against the field, each leaving a replay in replays/ and an entry in replays/matches.json.
6+"""
7+import json, os, sys
8+
9+
10+def bot_dir(arg):
11+ """The route's folder the check was given, absolute (bots run in their own folder); a missing bot is the route's
12+ mistake, said plainly."""
13+ if not os.path.isdir(arg):
14+ sys.exit(f'No route folder at {arg}')
15+ return os.path.abspath(arg)
16+
17+
18+def field(root='field'):
19+ return sorted(d for d in os.listdir(root) if os.path.isdir(os.path.join(root, d)) and not d.startswith('.'))
20+
21+
22+def route_name():
23+ d = os.environ.get('SS_ROUTE_DIR', 'routes').rstrip('/')
24+ return 'main' if d == 'routes' else d.split('/', 1)[-1]
25+
26+
27+def write_metrics(score, subtasks, cost=None, path='metrics.json'):
28+ out = {'score': round(score, 6), 'subtasks': {k: round(v, 6) for k, v in subtasks.items()}}
29+ if cost is not None:
30+ out['cost'] = round(cost, 3)
31+ with open(path, 'w') as f:
32+ json.dump(out, f, indent=2, sort_keys=True)
33+ print(f'score {out["score"]} over {len(subtasks)}: ' + ', '.join(f'{k} {v:.3g}' for k, v in out['subtasks'].items()))
34+
35+
36+class Replays:
37+ """replays/<file> per match, and replays/matches.json saying who sat where and how it ended."""
38+
39+ def __init__(self, root='replays'):
40+ self.root, self.index = root, []
41+ os.makedirs(root, exist_ok=True)
42+
43+ def add(self, file, data, title, seats, result):
44+ with open(os.path.join(self.root, file), 'w') as f:
45+ f.write(data if isinstance(data, str) else json.dumps(data, separators=(',', ':')))
46+ self.index.append({'file': file, 'title': title, 'seats': seats, 'result': result})
47+ with open(os.path.join(self.root, 'matches.json'), 'w') as f:
48+ json.dump(self.index, f, indent=2)
+143 −0 kit/room.py added View file
@@ -0,0 +1,143 @@
1+"""A room's half of the room protocol (docs/games.md §8.3), for any game's referee. SS_ROOM says who holds each seat;
2+ask() gets a move from a bot child, from a person or agent over stdin, or from the game's own fallback (auto).
3+
4+ room = Room(start) start(folder) -> host.Child, the game's way to run a bot (a route's or field/<name>)
5+ move = room.ask(seat, obs, legal, auto=lambda: ..., bot=<the bot child's message, in the game's own interface>)
6+ move = room.ask(seat, obs, legal, auto, accept=lambda a: ...) # legal holds templates (free text): accept says
7+ # what an answer means, or None to keep waiting
8+ room.tell(seat, obs); room.event(data); room.end(result, scores); room.close()
9+
10+Lines to the platform start with '@shoal ' and are flushed one by one; the referee's own prints go to stderr, so a
11+library printing as it loads cannot break a line. A person or agent who does not answer within the limit (SS_ROOM
12+"limit", 30 s by default; ask(..., limit=s) sets one request's, e.g. a speech's) gets auto's move. {"control": ...}
13+re-asks the seat with a new version, so a late answer from the old controller is dropped; {"stop": true} makes ask()
14+raise Stop, and the referee writes what it has and ends.
15+"""
16+import json, os, queue, sys, threading, time
17+
18+
19+class Stop(Exception):
20+ pass
21+
22+
23+def log(*a):
24+ print('room:', *a, file=sys.stderr, flush=True)
25+
26+
27+class Room:
28+ def __init__(self, start, field='field'):
29+ conf = json.loads(os.environ.get('SS_ROOM') or '{}')
30+ self.seats = {str(k): v for k, v in conf.get('seats', {}).items()}
31+ self.limit = float(conf.get('limit', 30))
32+ self.start, self.field, self.bots = start, field, {}
33+ self.version, self.stopped = 0, False
34+ self.inbox, self.lock = queue.Queue(), threading.Lock()
35+ self.out, sys.stdout = sys.stdout, sys.stderr # prints, ours or a library's, must not look like protocol
36+ threading.Thread(target=self._read, daemon=True).start()
37+
38+ def say(self, msg):
39+ with self.lock: # the reader thread speaks too (control events)
40+ self.out.write('@shoal ' + json.dumps(msg, separators=(',', ':')) + '\n')
41+ self.out.flush()
42+
43+ def tell(self, seat, obs):
44+ self.say({'to': seat, 'obs': obs})
45+
46+ def event(self, data):
47+ self.say({'event': data})
48+
49+ def end(self, result, scores):
50+ self.say({'end': {'result': result, 'scores': scores}})
51+
52+ def label(self, seat):
53+ s = self.seats.get(seat) or {}
54+ return s.get('name') or s.get('route') or s.get('field') or os.path.basename((s.get('dir') or '').rstrip('/')) or s.get('kind') or 'auto'
55+
56+ def kind(self, seat):
57+ return (self.seats.get(seat) or {}).get('kind') or 'auto'
58+
59+ def ask(self, seat, obs, legal, auto, bot=None, accept=None, limit=None):
60+ ok = accept or (lambda a: a if a in legal else None)
61+ while True:
62+ if self.stopped:
63+ raise Stop
64+ spec = self.seats.get(seat) or {}
65+ kind = spec.get('kind')
66+ if kind == 'bot':
67+ child = self._bot(spec)
68+ move = child.ask(bot if bot is not None else {'obs': obs, 'legal': legal}) if child else None
69+ move = ok(move) if move is not None else None
70+ return auto() if move is None else move # a late, broken or illegal bot move: auto plays it
71+ if kind not in ('human', 'agent'):
72+ return auto()
73+ self._drain() # answers and notices from before this request are stale
74+ if self.stopped: # a stop drained with them still counts
75+ raise Stop
76+ self.version += 1
77+ v = self.version
78+ self.say({'to': seat, 'version': v, 'obs': obs, 'legal': legal})
79+ deadline = time.monotonic() + (limit or self.limit)
80+ while True:
81+ try:
82+ msg = self.inbox.get(timeout=max(0.0, deadline - time.monotonic()))
83+ except queue.Empty:
84+ log(f'seat {seat} out of time at version {v}: auto plays')
85+ return auto()
86+ if msg.get('stop'):
87+ raise Stop
88+ c = msg.get('control')
89+ if isinstance(c, dict) and str(c.get('seat')) == seat:
90+ break # a new controller: ask again, with a new version
91+ a = msg.get('act')
92+ if isinstance(a, dict) and str(a.get('seat')) == seat and a.get('version') == v:
93+ move = ok(a.get('action'))
94+ if move is not None:
95+ return move
96+ if a is not None:
97+ log(f'ignored act {json.dumps(a)[:120]}: asking seat {seat} at version {v}')
98+
99+ def close(self):
100+ for c in self.bots.values():
101+ if c:
102+ c.close()
103+
104+ def _read(self):
105+ for line in sys.stdin:
106+ try:
107+ msg = json.loads(line)
108+ except ValueError:
109+ log('not JSON:', line.strip()[:120])
110+ continue
111+ if not isinstance(msg, dict):
112+ continue
113+ if msg.get('stop'):
114+ self.stopped = True
115+ c = msg.get('control')
116+ if isinstance(c, dict) and 'seat' in c: # applied at once: the seat may not be the one being asked
117+ seat = str(c['seat'])
118+ self.seats[seat] = {k: v for k, v in c.items() if k != 'seat'}
119+ self.event({'type': 'control', 'seat': seat, 'kind': self.kind(seat), 'name': self.label(seat)})
120+ self.inbox.put(msg)
121+
122+ def _drain(self):
123+ while True:
124+ try:
125+ msg = self.inbox.get_nowait()
126+ except queue.Empty:
127+ return
128+ if msg.get('act') is not None:
129+ log(f'ignored act {json.dumps(msg["act"])[:120]}: stale')
130+
131+ def _bot(self, spec):
132+ """The child for a bot seat, one per folder (as the checks share one between seats); None if it cannot start."""
133+ if spec.get('field'):
134+ folder = os.path.join(self.field, spec['field'])
135+ else:
136+ folder = os.path.join(os.environ.get('SS_INPUT', '.'), spec.get('dir') or spec.get('route') or '')
137+ if folder not in self.bots:
138+ try:
139+ self.bots[folder] = self.start(folder)
140+ except (Exception, SystemExit) as e: # a missing bot is played by auto rather than ending the room
141+ log(f'no bot at {folder} ({e}): auto plays that seat')
142+ self.bots[folder] = None
143+ return self.bots[folder]
+88 −0 kit/roomcli.py added View file
@@ -0,0 +1,88 @@
1+"""Play a room on a laptop, without the site: run a room command with SS_ROOM, print what it says (docs/games.md §8.3),
2+and answer its requests to human and agent seats, from the terminal or by rule.
3+
4+ python3 kit/roomcli.py --room '{"seats": {...}}' [--auto] [--seat 0 --pick random] [--control 0=auto@6] [--stop 12] -- <command>
5+
6+--auto answers every request with the first legal action; --seat S (repeatable) answers seat S by --pick (first or
7+random) and leaves the other seats to the terminal. --control S=KIND@N: at the first request to seat S after N public
8+events, hand the seat to KIND (auto, agent, human), then send the old controller's late answer to that request, which
9+the room must ignore (it re-asks with a new version, or auto plays). --stop N sends {"stop": true} after N events.
10+SS_INPUT (a route's dir is under it) defaults to the current folder; --full prints whole messages.
11+"""
12+import argparse, json, os, random, subprocess, sys
13+
14+
15+def main():
16+ ap = argparse.ArgumentParser(description=__doc__.split('\n')[0])
17+ ap.add_argument('--room', default=os.environ.get('SS_ROOM', '{"seats": {}}'), help='SS_ROOM for the room')
18+ ap.add_argument('--auto', action='store_true', help='answer every request with the first legal action')
19+ ap.add_argument('--seat', action='append', default=[], help='a seat answered by --pick')
20+ ap.add_argument('--pick', choices=['first', 'random'], default='first')
21+ ap.add_argument('--control', action='append', default=[], help='S=KIND@N: hand seat S to KIND after N events')
22+ ap.add_argument('--stop', type=int, help='send stop after N events')
23+ ap.add_argument('--seed', type=int, default=0, help='for --pick random')
24+ ap.add_argument('--full', action='store_true')
25+ ap.add_argument('cmd', nargs=argparse.REMAINDER)
26+ a = ap.parse_args()
27+ cmd = a.cmd[1:] if a.cmd[:1] == ['--'] else a.cmd
28+ if not cmd:
29+ ap.error('give the room command after --')
30+ controls = []
31+ for c in a.control:
32+ seat, rest = c.split('=', 1)
33+ kind, at = rest.split('@', 1)
34+ controls.append({'seat': seat, 'kind': kind, 'at': int(at)})
35+ rnd = random.Random(a.seed)
36+ env = {**os.environ, 'SS_ROOM': a.room, 'SS_INPUT': os.environ.get('SS_INPUT', os.getcwd())}
37+ p = subprocess.Popen(cmd, env=env, stdin=subprocess.PIPE, stdout=subprocess.PIPE, text=True, bufsize=1)
38+ events = asked = answered = late = 0
39+ versions = []
40+
41+ def send(msg):
42+ p.stdin.write(json.dumps(msg) + '\n')
43+ p.stdin.flush()
44+ print(' >>', json.dumps(msg)[:200])
45+
46+ for line in p.stdout:
47+ if not line.startswith('@shoal '):
48+ print(' log', line.rstrip())
49+ continue
50+ msg = json.loads(line[7:])
51+ text = json.dumps(msg)
52+ print(f'@shoal {text if a.full or len(text) <= 200 else text[:197] + "..."}')
53+ if 'event' in msg:
54+ events += 1
55+ if a.stop is not None and events == a.stop:
56+ send({'stop': True})
57+ if 'end' in msg:
58+ break
59+ if 'version' not in msg:
60+ continue
61+ seat, v, legal = msg['to'], msg['version'], msg['legal']
62+ asked += 1
63+ assert not versions or v > versions[-1], 'versions must grow'
64+ versions.append(v)
65+ due = next((c for c in controls if c['seat'] == seat and events >= c['at']), None)
66+ if due: # the handover, then the old controller's answer arriving late
67+ controls.remove(due)
68+ send({'control': {'seat': seat, 'kind': due['kind'], 'name': f'{due["kind"]}-{seat}'}})
69+ send({'act': {'seat': seat, 'version': v, 'action': legal[-1]}})
70+ late += 1
71+ continue
72+ if a.auto or seat in a.seat:
73+ action = legal[0] if a.pick == 'first' or a.auto else rnd.choice(legal)
74+ else:
75+ print(f'seat {seat}, version {v}: obs {json.dumps(msg["obs"])[:300]}\nlegal: {" ".join(map(str, legal[:60]))}')
76+ got = input('your move, or its index (blank: the first)> ').strip()
77+ action = got if got in legal else legal[int(got)] if got.isdigit() and int(got) < len(legal) else got or legal[0]
78+ send({'act': {'seat': seat, 'version': v, 'action': action}})
79+ answered += 1
80+ p.stdin.close()
81+ code = p.wait()
82+ print(f'roomcli: {events} events, {asked} requests (versions {versions[:1]}..{versions[-1:]}), {answered} answered, '
83+ f'{late} late answers sent, exit {code}')
84+ sys.exit(code)
85+
86+
87+if __name__ == '__main__':
88+ main()
+57 −0 kit/test_room.py added View file
@@ -0,0 +1,57 @@
1+"""A check of kit/room.py against the room protocol (docs/games.md §8.3), on a toy game with one human seat: a stale or
2+illegal answer is ignored, a handover re-asks with a new version and drops the old controller's late answer, a silent
3+seat gets auto's move, and stop ends the room. python3 kit/test_room.py (or pytest)
4+"""
5+import json, os, subprocess, sys
6+
7+KIT = os.path.dirname(os.path.abspath(__file__))
8+GAME = f'''
9+import sys; sys.path.insert(0, {KIT!r})
10+from room import Room, Stop
11+room = Room(None)
12+try:
13+ for i in range(4):
14+ room.event({{'seat': '0', 'move': room.ask('0', {{'i': i}}, ['a', 'b'], auto=lambda: 'auto')}})
15+except Stop:
16+ room.event({{'stopped': True}})
17+room.end('done', {{'0': 0}})
18+'''
19+
20+
21+def test_room():
22+ env = {**os.environ, 'SS_ROOM': json.dumps({'limit': 0.5, 'seats': {'0': {'kind': 'human'}}})}
23+ p = subprocess.Popen([sys.executable, '-c', GAME], env=env, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, text=True)
24+
25+ def said():
26+ line = p.stdout.readline()
27+ assert line.startswith('@shoal '), line
28+ return json.loads(line[7:])
29+
30+ def send(msg):
31+ p.stdin.write(json.dumps(msg) + '\n')
32+ p.stdin.flush()
33+
34+ assert said() == {'to': '0', 'version': 1, 'obs': {'i': 0}, 'legal': ['a', 'b']}
35+ send({'act': {'seat': '0', 'version': 0, 'action': 'a'}}) # stale
36+ send({'act': {'seat': '0', 'version': 1, 'action': 'z'}}) # illegal
37+ send({'act': {'seat': '0', 'version': 1, 'action': 'b'}})
38+ assert said() == {'event': {'seat': '0', 'move': 'b'}}
39+ assert said()['version'] == 2
40+ send({'control': {'seat': '0', 'kind': 'agent', 'name': 'ada-codex'}})
41+ send({'act': {'seat': '0', 'version': 2, 'action': 'b'}}) # the old controller, late
42+ assert said() == {'event': {'type': 'control', 'seat': '0', 'kind': 'agent', 'name': 'ada-codex'}}
43+ assert said()['version'] == 3
44+ send({'act': {'seat': '0', 'version': 3, 'action': 'a'}})
45+ assert said() == {'event': {'seat': '0', 'move': 'a'}}
46+ assert said()['version'] == 4 # left unanswered: auto plays after the limit
47+ assert said() == {'event': {'seat': '0', 'move': 'auto'}}
48+ assert said()['version'] == 5
49+ send({'stop': True})
50+ assert said() == {'event': {'stopped': True}}
51+ assert said() == {'end': {'result': 'done', 'scores': {'0': 0}}}
52+ assert p.wait(5) == 0
53+
54+
55+if __name__ == '__main__':
56+ test_room()
57+ print('room protocol: ok')
+6 −0 referee/check.sbatch added View file
@@ -0,0 +1,6 @@
1+#!/bin/bash
2+#SBATCH --job-name=play
3+#SBATCH --time=30:00
4+# The route's bot in every seat, the field at the other six; writes metrics.json, which the site keeps as the route's score.
5+PY=$(command -v werewolf-python || command -v python3)
6+PYTHONHASHSEED=0 "$PY" -s referee/play.py check "$SS_INPUT/$SS_ROUTE_DIR"
+23 −0 referee/kaggle_child.py added View file
@@ -0,0 +1,23 @@
1+"""A bot's own process, in Kaggle's own interface: main.py defines agent(obs, config) (or, as Kaggle allows, its last
2+function is the agent) and returns the game's action. The observation and configuration arrive as JSON and are handed
3+over as kaggle_environments Structs, so obs.planets and obs["planets"] both work, as on Kaggle.
4+ python3 -I referee/kaggle_child.py <main.py>
5+"""
6+import os, sys
7+
8+sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'kit'))
9+import inspect, random # noqa: E402
10+from host import load, serve # noqa: E402
11+from kaggle_environments.utils import structify # noqa: E402
12+
13+random.seed(0) # a bot's own randomness is seeded, so a check gives the same score every time
14+agent = load(sys.argv[1], 'agent')
15+takes = len(inspect.signature(agent).parameters)
16+
17+
18+def handle(msg):
19+ obs, config = structify(msg['obs']), structify(msg['config'])
20+ return agent(obs, config) if takes > 1 else agent(obs)
21+
22+
23+serve(handle)
+21 −0 referee/kaggle_seat.py added View file
@@ -0,0 +1,21 @@
1+"""A seat of a kaggle_environments game for a bot in its own process: env.run gets a function that passes each
2+observation to the bot's process and its answer back. A late or broken answer is the game's no-op."""
3+import json, os, sys
4+
5+HERE = os.path.dirname(os.path.abspath(__file__))
6+sys.path.insert(0, os.path.join(os.path.dirname(HERE), 'kit'))
7+from host import Child # noqa: E402
8+
9+
10+def seat(folder, limit=1.0, idle=None, start=30):
11+ main = os.path.join(folder, 'main.py')
12+ if not os.path.isfile(main):
13+ sys.exit(f'No bot in {folder}: add main.py with agent(obs, config), as on Kaggle')
14+ child = Child([sys.executable, '-s', os.path.join(HERE, 'kaggle_child.py'), main], cwd=folder, limit=limit, start=start)
15+
16+ def agent(obs, config):
17+ answer = child.ask({'obs': json.loads(json.dumps(obs, default=str)), 'config': json.loads(json.dumps(config, default=str))})
18+ return idle if answer is None else answer
19+
20+ agent.child = child
21+ return agent
+183 −0 referee/play.py added View file
@@ -0,0 +1,183 @@
1+"""The project's referee, on kaggle_environments' own Werewolf (the game Kaggle Game Arena plays): seven players, two
2+werewolves against a seer, a doctor and three villagers, nights of killing, healing and inspecting, days of talk and
3+votes. Seats take roles in order. check: on three seeds, the route's bot takes every seat in turn and the opponent
4+fills the other six; the score is the share of games the route's team wins, each role a subtask (over the field).
5+practice: one seed against each opponent, the route as a werewolf and as the seer, a replay of each in replays/.
6+ python3 -s referee/play.py check|practice <route folder>
7+"""
8+import json, os, random, sys
9+
10+ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
11+sys.path.insert(0, os.path.join(ROOT, 'kit'))
12+sys.path.insert(0, os.path.join(ROOT, 'referee'))
13+import league # noqa: E402
14+from kaggle_environments import make # noqa: E402
15+from kaggle_seat import seat # noqa: E402
16+
17+N, SEEDS = 7, [3, 5, 8]
18+
19+
20+GOD = 'MODERATOR'
21+NIGHT_ORDER = {'heal': 0, 'inspect': 1} # as a judge calls them: the doctor, the seer, then the wolves
22+
23+
24+class Story:
25+ """The game as the viewer draws it, from the engine's god-view records (env.info MODERATOR_OBSERVATION, one list
26+ per step), so nothing downstream reads English. Seats are 0-6 (Player 1-7); a public moderator line rides on its
27+ event as en. Events:
28+ phase {phase: night|day, day} the engine counts night 0, day 1, night 1, day 2 ...
29+ heal {actor, target} / inspect {actor, target, role, team} / wolf_vote {actor, target} / wolf_pick {target,
30+ votes, counts, tie} / saved {target} the night, private: the doctor, the seer, the wolves
31+ dawn {killed} after "day N begins": who died in the night, or None
32+ out {who, cause: night|exile, role, team, day} every elimination, its role as the judge reveals it
33+ talk {order} / speech {actor, text} the day's speaking order, then each speech
34+ vote_start {order} / vote {actor, target} target None is an abstention
35+ tally {votes, counts, exiled, tie} the day vote: who voted whom, the counts, who goes (tie:
36+ the seats level at the top, one drawn at random)
37+ over {winner, reason, roles, out} the end: every role and every elimination
38+ actions carry the actor's private reasoning as why."""
39+
40+ def __init__(self, ids):
41+ self.seat = {p: i for i, p in enumerate(ids)}
42+ self.roles, self.teams = [None] * len(ids), [None] * len(ids)
43+ self.gone, self.votes, self.order, self.dawn, self.en, self.peek = [], {}, None, [], [], {}
44+
45+ def at(self, pid):
46+ return self.seat.get(pid)
47+
48+ def step(self, t, records):
49+ out = []
50+
51+ def put(kind, rec=None, **kv):
52+ e = {'t': t, 'kind': kind, **kv}
53+ if rec is not None and rec.get('public') and rec.get('source') == GOD:
54+ e['en'] = '\n'.join(self.en + [rec['description']])
55+ self.en = []
56+ out.append(e)
57+ return e
58+
59+ for r in records:
60+ r = json.loads(r['json_str'])
61+ name, d, desc = r['event_name'], r.get('data') or {}, r['description']
62+ if name == 'game_start' and 'role' in d:
63+ s = self.at(d['player_id'])
64+ self.roles[s], self.teams[s] = d['role'], d['team']
65+ elif name == 'night_start':
66+ self.votes = {}
67+ put('phase', r, phase='night', day=r['day'])
68+ elif name == 'heal_action':
69+ put('heal', actor=self.at(d['actor_id']), target=self.at(d['target_id']), why=d.get('reasoning'))
70+ elif name == 'inspect_action':
71+ self.peek[d['actor_id']] = d.get('reasoning')
72+ elif name == 'inspect_result':
73+ put('inspect', actor=self.at(d['actor_id']), target=self.at(d['target_id']), role=d.get('role'),
74+ team=d.get('team'), why=self.peek.pop(d['actor_id'], None))
75+ elif name == 'vote_action' and r.get('source') != GOD: # a ballot (no data: a no-op, an abstention)
76+ voter = self.at(r['source'])
77+ target = self.at(d.get('target_id')) if 'target_id' in d else None
78+ self.votes[voter] = target
79+ put('wolf_vote' if r['phase'] == 'Night' else 'vote', actor=voter, target=target, why=d.get('reasoning'))
80+ elif name == 'vote_result' and 'elected_target_player_id' in d:
81+ put('wolf_pick', target=self.at(d['elected_target_player_id']), **self.count())
82+ self.votes = {}
83+ elif name == 'heal_result':
84+ put('saved', target=self.at(d['saved_player_id']))
85+ elif name == 'elimination' and 'eliminated_player_id' in d:
86+ s = self.at(d['eliminated_player_id'])
87+ self.dawn = [('dawn', r, {'killed': s}), ('out', None, self.fall(s, 'night', r['day']))]
88+ elif name == 'moderator_announcement' and r['public'] and r['phase'] == 'Night' and not r.get('data'):
89+ self.dawn = [('dawn', r, {'killed': None})] # "Last night, no one was eliminated."
90+ elif name == 'day_start':
91+ put('phase', r, phase='day', day=r['day'])
92+ for k, rec, kv in self.dawn:
93+ put(k, rec, **kv)
94+ self.dawn = []
95+ elif name == 'discussion_order':
96+ put('talk', r, order=[self.at(p) for p in d.get('chat_order_of_player_ids') or []])
97+ elif name == 'discussion' and 'message' in d and r.get('source') != GOD:
98+ put('speech', actor=self.at(r['source']), text=d['message'], why=d.get('reasoning'))
99+ elif name == 'vote_order' and r['phase'] == 'Day':
100+ self.order = [self.at(p) for p in d.get('vote_order_of_player_ids') or []]
101+ elif name == 'moderator_announcement' and 'voting_rule' in d:
102+ self.votes = {}
103+ put('vote_start', r, order=self.order)
104+ elif name == 'elimination' and 'elected_player_id' in d:
105+ s = self.at(d['elected_player_id'])
106+ put('tally', **self.count(), exiled=s)
107+ self.votes = {}
108+ put('out', r, **self.fall(s, 'exile', r['day']))
109+ elif name == 'vote_result' and r['public']: # no exile (a tie under a no-exile rule)
110+ put('tally', r, **self.count(), exiled=None)
111+ self.votes = {}
112+ elif name == 'game_end':
113+ for k, rec, kv in self.dawn: # the wolves can win in the night
114+ put(k, rec, **kv)
115+ self.dawn = []
116+ put('over', r, **self.over(d.get('winner_team'), d.get('reason')))
117+ elif r.get('public') and r.get('source') == GOD:
118+ self.en.append(desc) # the rule lines: told with the next event
119+ out.sort(key=lambda e: NIGHT_ORDER.get(e['kind'], 2))
120+ return out
121+
122+ def count(self):
123+ counts = {}
124+ for v in self.votes.values():
125+ if v is not None:
126+ counts[v] = counts.get(v, 0) + 1
127+ top = [s for s, c in counts.items() if c == max(counts.values())] if counts else []
128+ return {'votes': dict(self.votes), 'counts': counts, 'tie': top if len(top) > 1 else None}
129+
130+ def fall(self, s, cause, day):
131+ e = {'who': s, 'cause': cause, 'role': self.roles[s], 'team': self.teams[s], 'day': day}
132+ self.gone.append(e)
133+ return e
134+
135+ def over(self, winner, reason):
136+ return {'winner': winner, 'reason': (reason or '').replace('Reason: ', ''), 'roles': self.roles, 'out': self.gone}
137+
138+
139+def transcript(j, names, kinds=None):
140+ """The replay: the players with their roles and fates, and the game as Story's events (see Story)."""
141+ ids = [a['id'] for a in j['configuration']['agents']]
142+ story, events = Story(ids), []
143+ for t, records in enumerate(j['info'].get('MODERATOR_OBSERVATION') or []):
144+ events += story.step(t, records)
145+ over = next((e for e in events if e['kind'] == 'over'), None)
146+ fate = {e['who']: e for e in story.gone}
147+ return {'game': 'werewolf', 'version': 2,
148+ 'players': [{'seat': i, 'id': ids[i], 'name': names[i], 'kind': (kinds or {}).get(i, 'bot'), 'role': story.roles[i],
149+ 'team': story.teams[i], 'out': fate.get(i)} for i in range(len(ids))],
150+ 'events': events, 'winner': over and over['winner'], 'reason': over and over['reason']}
151+
152+
153+def main(mode, route):
154+ name = league.route_name()
155+ reps = league.Replays() if mode == 'practice' else None
156+ me = seat(league.bot_dir(route), limit=3.0, idle={'action_type': 'NoOpAction', 'kwargs': {}})
157+ wins, by_role = {}, {}
158+ for opp in league.field(os.path.join(ROOT, 'field')):
159+ others = [seat(os.path.join(ROOT, 'field', opp), limit=3.0, idle={'action_type': 'NoOpAction', 'kwargs': {}}) for _ in range(N - 1)]
160+ for k, sd in enumerate(SEEDS if mode == 'check' else SEEDS[:1]):
161+ for mine in range(N) if mode == 'check' else (0, 2):
162+ agents = others[:mine] + [me] + others[mine:]
163+ random.seed(sd)
164+ env = make('werewolf', configuration={'seed': sd})
165+ env.run(agents)
166+ j = env.toJSON()
167+ role = j['configuration']['agents'][mine]['role']
168+ won = 1.0 if (env.steps[-1][mine].get('reward') or 0) > 0 else 0.0
169+ by_role.setdefault(role.lower(), []).append(won)
170+ wins.setdefault(opp, []).append(won)
171+ if reps:
172+ names = [opp] * N
173+ names[mine] = name
174+ r = transcript(j, names)
175+ reps.add(f'{opp}-{sd}-{role.lower()}.json', r, f'{name} as the {role.lower()}, six {opp} bots, seed {sd}', [name, opp], f'{r["winner"]} win: {(r["reason"] or "").replace("Reason: ", "")}')
176+ for o in others:
177+ o.child.close()
178+ me.child.close()
179+ league.write_metrics(sum(sum(v) for v in by_role.values()) / sum(len(v) for v in by_role.values()), {k: sum(v) / len(v) for k, v in sorted(by_role.items())})
180+
181+
182+if __name__ == '__main__':
183+ main(sys.argv[1], sys.argv[2])
+6 −0 referee/practice.sbatch added View file
@@ -0,0 +1,6 @@
1+#!/bin/bash
2+#SBATCH --job-name=practice
3+#SBATCH --time=30:00
4+# A practice run from your route: games as a werewolf and as the seer, replays in replays/ (see Matches).
5+PY=$(command -v werewolf-python || command -v python3)
6+PYTHONHASHSEED=0 "$PY" -s referee/play.py practice "$SS_INPUT/$SS_ROUTE_DIR"
+9 −0 referee/requirements.txt added View file
@@ -0,0 +1,9 @@
1+# Python 3.13. Google's kaggle-environments (Apache-2.0), without its heavy extras: Werewolf needs only these (its LLM agent, which would need litellm and keys, is not used).
2+kaggle-environments==1.33.0 --no-deps
3+jsonschema
4+requests
5+pydantic
6+pyyaml
7+pyjson5
8+tenacity
9+python-dotenv
+200 −0 referee/room.py added View file
@@ -0,0 +1,200 @@
1+"""A live room (docs/games.md §8): one game of kaggle-environments' Werewolf with people, agents and bots at the seven
2+seats, speaking the room protocol through kit/room.py. Seat "0"-"6" is Player 1-7 and the engine deals the roles
3+(seeded by SS_ROOM's seed, else at random). A bot runs a route's or a field folder's main.py in a process of its own per
4+seat, as in the checks, 3 s a move; a seat on auto, a person out of time and a bot that fails or answers out of turn
5+are played by the engine's deterministic agent. Public things are events; what one seat alone may know (its role, the
6+wolves' picks, the seer's results, the doctor's heals) is told to that seat. At the end the game is left in replays/ in
7+the practice replays' format with a matches.json entry, so it lists as a match.
8+
9+ SS_ROOM='{"seats": {"0": {"kind": "human", "name": "ada"}, "1": {"kind": "bot", "field": "deterministic"}}}' \
10+ python3 -s referee/room.py
11+
12+Messages (events are play.py's Story events, seats 0-6, without the private reasoning):
13+ event {kind: start, seats: {seat: {name, kind}}, roles: {role: count}, seconds}
14+ to each seat {kind: role, seat, role, team, wolves}: its role card (wolves: the werewolves' seats, for a werewolf)
15+ event {kind: phase|dawn|out|talk|speech|vote_start|vote|tally, ...}, and {kind: turn, seat, what: chat|vote,
16+ seconds} before a person's or an agent's speech or day vote
17+ to a seat {kind: heal|saved|inspect|wolf_vote|wolf_pick, ...}: the doctor's, the seer's and the wolves' own night
18+ request {to, version, obs: {seat, player, role, team, wolves, day, phase, request, alive, known, events, seconds,
19+ raw}, legal}: request is chat, vote, kill, heal or inspect; known is what was told to the seat, events the public
20+ ones so far (the last 40), raw Kaggle's own raw_observation, so a Kaggle agent can play from it
21+ chat: legal [{type: chat, message: ""}], answered with the message filled in (trimmed, at most 600 characters;
22+ left empty, the seat passes)
23+ kill|heal|inspect|vote: legal [{type, target: seat}], a day vote also {type: vote, target: null} to abstain
24+ an answer may add "reasoning" (kept for the replay), or be the Kaggle agent's own action, as main.py returns it
25+ event {kind: over, winner, reason, roles, out}, then end {result, scores}: 1 for each seat of the winning team
26+"""
27+import json, os, random, sys
28+
29+ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
30+sys.path[:0] = [os.path.join(ROOT, 'kit'), os.path.join(ROOT, 'referee')] # kit's room.py, not this file
31+from room import Room, Stop # noqa: E402 (first: play.py puts referee/ ahead of kit/ as it loads)
32+import league # noqa: E402
33+from kaggle_environments import make # noqa: E402
34+from kaggle_environments.envs.werewolf.game.actions import ChatAction, HealAction, InspectAction, VoteAction # noqa: E402
35+from kaggle_environments.envs.werewolf.werewolf import deterministic_agent # noqa: E402
36+from kaggle_seat import seat as bot_seat # noqa: E402
37+from play import N, Story, transcript # noqa: E402
38+
39+SAY, PASS = 600, 'I pass.'
40+ACTION = {'chat': ChatAction, 'vote': VoteAction, 'kill': VoteAction, 'heal': HealAction, 'inspect': InspectAction}
41+SECRET = {'heal': 'Doctor', 'saved': 'Doctor', 'inspect': 'Seer', 'wolf_vote': 'Werewolf', 'wolf_pick': 'Werewolf'}
42+WAKE = {'Doctor': 0, 'Seer': 1} # the judge wakes the doctor, then the seer, then the wolves
43+
44+
45+class Bots:
46+ """A folder's bot, one process per seat as in the checks: a bot may keep what it learns about its own game."""
47+
48+ def __init__(self, folder):
49+ self.new = lambda: bot_seat(folder, limit=3.0).child
50+ self.kids = {None: self.new()} # fails here, as Room expects, when the folder has no bot
51+
52+ def ask(self, msg):
53+ pid = msg['obs']['raw_observation']['player_id']
54+ if pid not in self.kids:
55+ self.kids[pid] = self.kids.pop(None, None) or self.new()
56+ return self.kids[pid].ask(msg)
57+
58+ def close(self):
59+ for c in self.kids.values():
60+ c.close()
61+
62+
63+def request(raw):
64+ """What the engine asks of this player now and the players it may name: (chat|vote|kill|heal|inspect, ids)."""
65+ phase, role, me = raw['detailed_phase'], raw['role'], raw['player_id']
66+ others = [p for p in raw['alive_players'] if p != me]
67+
68+ def listed(name, key): # the request's own list of valid targets
69+ return next((v['data'][key] for v in raw['new_player_event_views'] if v['event_name'] == name and (v.get('data') or {}).get(key)), None)
70+
71+ if phase == 'DAY_CHAT_AWAIT':
72+ return 'chat', []
73+ if phase == 'DAY_VOTING_AWAIT':
74+ return 'vote', others
75+ if phase == 'NIGHT_AWAIT_ACTIONS':
76+ if role == 'Werewolf':
77+ return 'kill', listed('vote_request', 'valid_targets') or others
78+ if role == 'Doctor':
79+ return 'heal', listed('heal_request', 'valid_candidates') or others
80+ if role == 'Seer':
81+ return 'inspect', listed('inspect_request', 'valid_candidates') or others
82+ return None, []
83+
84+
85+def main():
86+ conf = json.loads(os.environ.get('SS_ROOM') or '{}')
87+ seed = int(conf['seed']) if conf.get('seed') is not None else random.SystemRandom().randrange(1 << 31)
88+ random.seed(seed) # the engine's own draws: ties, who speaks and votes first
89+ room = Room(Bots, field=os.path.join(ROOT, 'field'))
90+ env = make('werewolf', configuration={'seed': seed, 'randomize_roles': True})
91+ env.reset(N)
92+ config = json.loads(json.dumps(env.configuration, default=str))
93+ seats = [str(i) for i in range(N)]
94+ ids = [p.id for p in env.game_state.players]
95+ role = [str(p.role.name) for p in env.game_state.players]
96+ team = [str(p.role.team) for p in env.game_state.players]
97+ wolves = [i for i in range(N) if role[i] == 'Werewolf']
98+ names = [room.label(s) for s in seats]
99+ story, public, known, seen = Story(ids), [], {s: [] for s in seats}, 0
100+
101+ def tell(i, e):
102+ known[seats[i]].append(e)
103+ room.tell(seats[i], e)
104+
105+ def publish():
106+ nonlocal seen
107+ log = env.info['MODERATOR_OBSERVATION']
108+ for t in range(seen, len(log)):
109+ for e in story.step(t, log[t]):
110+ e = {k: v for k, v in e.items() if k not in ('t', 'why')} # reasoning stays private until the replay
111+ if e['kind'] in SECRET:
112+ for i in range(N):
113+ if role[i] == SECRET[e['kind']]:
114+ tell(i, e)
115+ else:
116+ public.append(e)
117+ room.event(e)
118+ seen = len(log)
119+
120+ def move(i):
121+ s = seats[i]
122+ obs = json.loads(json.dumps({**env.state[i].observation, 'step': env.state[0].observation.step}, default=str))
123+ raw = obs['raw_observation']
124+ what, targets = request(raw)
125+ stand_in = lambda: deterministic_agent(obs) # noqa: E731
126+ if what is None:
127+ return stand_in() # nothing asked: the engine's no-op
128+ seat_of = {p: str(ids.index(p)) for p in ids}
129+ aim = [seat_of[p] for p in targets if p in seat_of]
130+ legal = [{'type': 'chat', 'message': ''}] if what == 'chat' else \
131+ [{'type': what, 'target': t} for t in aim] + ([{'type': 'vote', 'target': None}] if what == 'vote' else [])
132+ base = {'day': raw['day'], 'phase': raw['game_state_phase'], 'actor_id': raw['player_id']}
133+
134+ def accept(a):
135+ if isinstance(a, int) and not isinstance(a, bool) and 0 <= a < len(legal):
136+ a = legal[a]
137+ if isinstance(a, dict) and 'action_type' in a: # a Kaggle agent's own action
138+ if a['action_type'] != ACTION[what].__name__:
139+ return None
140+ k = a.get('kwargs') or {}
141+ t = k.get('target_id')
142+ a = {'type': what, 'message': k.get('message'), 'reasoning': k.get('reasoning'),
143+ 'target': None if t in (None, '-1') else seat_of.get(t, '?')}
144+ if not isinstance(a, dict) or a.get('type') != what:
145+ return None
146+ why = a.get('reasoning')
147+ kw = {**base, 'reasoning': str(why)[:SAY] if why else None}
148+ if what == 'chat':
149+ text = a.get('message')
150+ return ChatAction(**kw, message=text.strip()[:SAY] or PASS).serialize() if isinstance(text, str) else None
151+ t = a.get('target')
152+ t = None if t is None else str(t)
153+ if (t is None and what != 'vote') or (t is not None and t not in aim):
154+ return None
155+ return ACTION[what](**kw, target_id='-1' if t is None else ids[int(t)]).serialize()
156+
157+ limit = room.limit * 3 if what == 'chat' else None # a speech takes longer to write
158+ seconds = limit or room.limit
159+ if what in ('chat', 'vote') and room.kind(s) in ('human', 'agent'):
160+ room.event({'kind': 'turn', 'seat': i, 'what': what, 'seconds': seconds})
161+ view = {'seat': s, 'player': ids[i], 'role': role[i], 'team': team[i],
162+ 'wolves': [seats[w] for w in wolves] if role[i] == 'Werewolf' else [],
163+ 'day': raw['day'], 'phase': raw['game_state_phase'].lower(), 'request': what,
164+ 'alive': [seat_of[p] for p in raw['alive_players']], 'known': known[s], 'events': public[-40:],
165+ 'seconds': seconds, 'raw': raw}
166+ return room.ask(s, view, legal, auto=stand_in, bot={'obs': obs, 'config': config}, accept=accept, limit=limit)
167+
168+ room.event({'kind': 'start', 'seats': {s: {'name': names[i], 'kind': room.kind(s)} for i, s in enumerate(seats)},
169+ 'roles': {r: role.count(r) for r in ('Werewolf', 'Seer', 'Doctor', 'Villager')}, 'seconds': room.limit})
170+ for i in range(N):
171+ tell(i, {'kind': 'role', 'seat': i, 'role': role[i], 'team': team[i], 'wolves': wolves if role[i] == 'Werewolf' else []})
172+ publish()
173+ stopped = False
174+ try:
175+ while not env.done:
176+ acts = [None] * N
177+ for i in sorted((i for i in range(N) if env.state[i].status == 'ACTIVE'), key=lambda i: WAKE.get(role[i], 2)):
178+ acts[i] = move(i)
179+ env.step(acts)
180+ publish()
181+ except Stop:
182+ stopped = True
183+ e = {'kind': 'over', **story.over(None, 'stopped')}
184+ public.append(e)
185+ room.event(e)
186+
187+ end = env.info.get('GAME_END') or {}
188+ winner = None if stopped else end.get('winner_team')
189+ result = 'stopped' if winner is None else f'{winner.lower()} win, {N - len(story.gone)} left alive'
190+ replay = transcript(env.toJSON(), names, {i: room.kind(s) for i, s in enumerate(seats)})
191+ if stopped:
192+ replay['events'].append(public[-1])
193+ league.Replays().add(f'room-{seed}.json', replay, 'Room: ' + ', '.join(f'{i + 1} {n}' for i, n in enumerate(names)),
194+ names, result)
195+ room.end(result, {s: float(winner is not None and team[i] == winner) for i, s in enumerate(seats)})
196+ room.close()
197+
198+
199+if __name__ == '__main__':
200+ main()
+7 −0 referee/room.sbatch added View file
@@ -0,0 +1,7 @@
1+#!/bin/bash
2+#SBATCH --job-name=room
3+#SBATCH --time=60:00
4+# A live room (docs/games.md §8): one game, seats as SS_ROOM says; speaks the room protocol on stdin and stdout, and
5+# leaves the game in replays/ so the room lists as a match.
6+PY=$(command -v werewolf-python || command -v python3)
7+exec "$PY" -s referee/room.py
+9 −0 routes/main.py added View file
@@ -0,0 +1,9 @@
1+"""The starter: kaggle-environments' built-in deterministic Werewolf agent, which always does one fixed thing. Copy it
2+into routes/<your route>/main.py and write an agent that talks, suspects and votes well; on Kaggle Game Arena the same
3+function would play. obs.raw_observation has your role, the phase, who is alive, the announcements and the requests
4+(vote, chat, heal, inspect) with their valid targets; return one of the game's actions as a dict."""
5+from kaggle_environments.envs.werewolf.werewolf import deterministic_agent
6+
7+
8+def agent(obs, config=None):
9+ return deterministic_agent(obs)
+146 −0 viewer/NOTICE added View file
@@ -0,0 +1,146 @@
1+The Werewolf table (index.html) is this project's own, under the MIT licence. It uses these assets, all in assets/:
2+
3+1. Microsoft Fluent Emoji (https://github.com/microsoft/fluentui-emoji), MIT licence, (c) Microsoft Corporation.
4+ Resized 3D images: werewolf.png (Wolf), seer.png (Crystal ball), doctor.png (Health worker), villager.png (Farmer),
5+ moon.png (Crescent moon), sun.png (Sun), zzz.png (Zzz), robot.png (Robot), person.png (Bust in silhouette),
6+ ballot.png (Ballot box with ballot), mic.png (Studio microphone), thought.png (Thought balloon).
7+
8+2. DiceBear Notionists (https://www.dicebear.com/styles/notionists/), a remix of "Notionists" by Zoish
9+ (https://heyzoish.gumroad.com/l/notionists), licensed under CC0 1.0
10+ (https://creativecommons.org/publicdomain/zero/1.0/). assets/avatars/*.svg were generated once with the seeds in
11+ their file names; each keeps its licence metadata.
12+
13+3. Icons from game-icons.net (https://game-icons.net, https://github.com/game-icons/icons), licensed under Creative
14+ Commons Attribution 3.0 (https://creativecommons.org/licenses/by/3.0/), inlined in index.html with their black
15+ backgrounds removed and drawn in the current colour:
16+ by Lorc (https://lorcblog.blogspot.com): claw-slashes, checked-shield, gavel;
17+ by Delapouite (https://delapouite.com): all-seeing-eye.
18+
19+4. Noto Serif SC (https://github.com/google/fonts/tree/main/ofl/notoserifsc), SIL Open Font License 1.1.
20+ assets/judge.woff2 is the bold instance cut down to the characters the table writes itself; it is a Modified
21+ Version under the licence below and keeps its name table.
22+
23+The play, pause and sound icons are drawn in index.html for this project.
24+
25+----------------------------------------------------------------------------------------------------------------------
26+Fluent Emoji's licence:
27+
28+MIT License
29+
30+Copyright (c) Microsoft Corporation.
31+
32+Permission is hereby granted, free of charge, to any person obtaining a copy
33+of this software and associated documentation files (the "Software"), to deal
34+in the Software without restriction, including without limitation the rights
35+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
36+copies of the Software, and to permit persons to whom the Software is
37+furnished to do so, subject to the following conditions:
38+
39+The above copyright notice and this permission notice shall be included in all
40+copies or substantial portions of the Software.
41+
42+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
43+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
44+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
45+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
46+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
47+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
48+SOFTWARE
49+
50+----------------------------------------------------------------------------------------------------------------------
51+Noto Serif SC's licence:
52+
53+Copyright 2012 Google Inc. All Rights Reserved.
54+
55+This Font Software is licensed under the SIL Open Font License,
56+Version 1.1.
57+
58+This license is copied below, and is also available with a FAQ at:
59+http://scripts.sil.org/OFL
60+
61+-----------------------------------------------------------
62+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
63+-----------------------------------------------------------
64+
65+PREAMBLE
66+The goals of the Open Font License (OFL) are to stimulate worldwide
67+development of collaborative font projects, to support the font
68+creation efforts of academic and linguistic communities, and to
69+provide a free and open framework in which fonts may be shared and
70+improved in partnership with others.
71+
72+The OFL allows the licensed fonts to be used, studied, modified and
73+redistributed freely as long as they are not sold by themselves. The
74+fonts, including any derivative works, can be bundled, embedded,
75+redistributed and/or sold with any software provided that any reserved
76+names are not used by derivative works. The fonts and derivatives,
77+however, cannot be released under any other type of license. The
78+requirement for fonts to remain under this license does not apply to
79+any document created using the fonts or their derivatives.
80+
81+DEFINITIONS
82+"Font Software" refers to the set of files released by the Copyright
83+Holder(s) under this license and clearly marked as such. This may
84+include source files, build scripts and documentation.
85+
86+"Reserved Font Name" refers to any names specified as such after the
87+copyright statement(s).
88+
89+"Original Version" refers to the collection of Font Software
90+components as distributed by the Copyright Holder(s).
91+
92+"Modified Version" refers to any derivative made by adding to,
93+deleting, or substituting -- in part or in whole -- any of the
94+components of the Original Version, by changing formats or by porting
95+the Font Software to a new environment.
96+
97+"Author" refers to any designer, engineer, programmer, technical
98+writer or other person who contributed to the Font Software.
99+
100+PERMISSION & CONDITIONS
101+Permission is hereby granted, free of charge, to any person obtaining
102+a copy of the Font Software, to use, study, copy, merge, embed,
103+modify, redistribute, and sell modified and unmodified copies of the
104+Font Software, subject to the following conditions:
105+
106+1) Neither the Font Software nor any of its individual components, in
107+Original or Modified Versions, may be sold by itself.
108+
109+2) Original or Modified Versions of the Font Software may be bundled,
110+redistributed and/or sold with any software, provided that each copy
111+contains the above copyright notice and this license. These can be
112+included either as stand-alone text files, human-readable headers or
113+in the appropriate machine-readable metadata fields within text or
114+binary files as long as those fields can be easily viewed by the user.
115+
116+3) No Modified Version of the Font Software may use the Reserved Font
117+Name(s) unless explicit written permission is granted by the
118+corresponding Copyright Holder. This restriction only applies to the
119+primary font name as presented to the users.
120+
121+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
122+Software shall not be used to promote, endorse or advertise any
123+Modified Version, except to acknowledge the contribution(s) of the
124+Copyright Holder(s) and the Author(s) or with their explicit written
125+permission.
126+
127+5) The Font Software, modified or unmodified, in part or in whole,
128+must be distributed entirely under this license, and must not be
129+distributed under any other license. The requirement for fonts to
130+remain under this license does not apply to any document created using
131+the Font Software.
132+
133+TERMINATION
134+This license becomes null and void if any of the above conditions are
135+not met.
136+
137+DISCLAIMER
138+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
139+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
140+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
141+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
142+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
143+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
144+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
145+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
146+OTHER DEALINGS IN THE FONT SOFTWARE.
+1 −0 viewer/assets/avatars/ada.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="M1303 692 16 688.7S53.5 481.5 111 360C236.9 93.7 489.4 44.3 511.3 56.7c32 18 62.3 40.7 151.4 40.7 91.1 0 148.8-39.5 148.8-39.5s135.3 32.3 200.6 69.5c83.1 47.4 177 187 220.2 295.9 46 115.6 70.7 268.7 70.7 268.7Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M1296.8 692c-6.3-26-11.8-51.9-17.3-77.9l-8.4-39c-8-36.6-18.6-72.3-30-107.6a678.2 678.2 0 0 0-42.1-102.8l-7-13.7a802.4 802.4 0 0 0-27.6-50.7c-27.4-45.3-58.1-88.3-97-124a334.8 334.8 0 0 0-102.4-65c-7-2.8-13.8-6-20.7-9.1-7.9-3.7-15.8-7.3-24-10.5-10.6-4-14.4-.7-18.8 7.3-8 14.7-18 28-32.9 36-40.3 21.6-82.3 33.2-126.5 13.6a138 138 0 0 1-48.6-35.4c-6-7-12.2-8.3-20.5-9.5-22-3.3-36.7 4.7-49 23.1-16.3 24.2-42.3 33.2-69.5 35.8a146.6 146.6 0 0 1-108-31.8A203.2 203.2 0 0 1 402 86.5l-9.7 4.5c-6.9 3.1-13.6 6.2-19.8 10-9.6 6-19.7 11-29.8 16a347.3 347.3 0 0 0-34 18.9 454.4 454.4 0 0 0-85.4 73.7 604 604 0 0 0-86.3 122.8 869 869 0 0 0-50 108.1 1216.5 1216.5 0 0 0-34 102 562 562 0 0 0-20.2 102.2c-.6 6.8-2.1 13.6-3.7 20.4-1.9 8.3-3.8 16.8-4.1 25.8-5.5 1-10.6 1-16.9 1 4.5-32.9 9.7-66 16-98.8 2.3-12 5.3-23.7 8.3-35.4l5.3-21.5c5.2-22.6 12.6-44.6 20-66.6l.9-2.7a836.3 836.3 0 0 1 83-179c17-27.2 36-53 57.1-77 37.3-43 79.1-80.3 130-105.9l10.8-5.4c36-18.2 72-36.4 112-44.2 11.1-2.1 22.2-4.6 33-7.6 12.7-3.5 15.2-9.1 10.3-21.1l-1-2.2c-.7-1.6-1.4-3.3-1.7-5v-.4c-.6-3.6-1.2-7.8 3.8-8.9 4.3-1 5.5 1.6 7 5l.6 1.1c1.6 3.2 3 6.5 4.5 9.7 4.8 10.8 9.6 21.7 18.6 30.6a101 101 0 0 0 59.7 27.2l5.3.7c24.8 3.3 49.7 6.7 75 5.4 35.3-1.8 70.2-5.5 104-16.5 5.2-1.7 9.7-4.8 14-8.3 7-5.8 6.5-10.6.5-16.8-8.9-9.2-11-20.6-10.3-32.6 4-1.5 7-.5 7.6 1.8 7 30.4 29.6 36 55.8 39 33.8 3.8 66.1 14.3 98.5 25 25.4 8.5 48.3 21.6 71.2 34.6l18.6 10.5c25 13.8 47.2 32.1 66.9 53.2 22.7 24.3 43.9 50 62.4 77.6 16.1 24 31.5 48.6 45 74.5a1007.4 1007.4 0 0 1 86.5 242c5.6 25.4 9.8 51.3 14.1 77.5 2.2 13.2 4.3 26.4 6.7 39.7-3.2.9-6.7.9-11.2.9ZM573 143a83.8 83.8 0 0 0 49.7-37.7 17 17 0 0 0-9.2-3.5l-2.8-.5a470 470 0 0 0-19.9-3.9c-27-4.8-54-9.7-74-32.8-1.3-1.5-4.6-1.7-7-1.8-27.5-.5-53.4 6.9-79.4 14.3l-11.2 3.2c.8 5.6 2.6 9 5.8 12.2a224 224 0 0 0 39.6 32.5c32.9 21 67.9 30.7 108.4 18Zm224 .3c-31.6 4.3-57.1-9-81-27.6-1.6-1.7-3.3-3-4.9-4.2-3-2.4-5.7-4.5-6.9-8.4 10.1-3.8 20.6-5.8 31.1-7.9 11.2-2.1 22.4-4.3 33-8.6l5.4-1.8c4.3-1.4 8.7-2.8 11.8-5.8 16.7-16.2 36.2-15.6 56.2-10.6 13 3.3 26 7 39.5 11l19 5.6-5.6 6.5c-14.1 16.6-26.6 31.3-46.9 38.5-16.7 6-33.2 11-50.7 13.3Z" fill="#000"/><path d="M1115.6 692c-9.1-36.9-12.1-74.7-22-111.2-7.7-28.1-13.9-56.8-23.8-84-7-19.4-13.7-39-23-57.8-12.7-25-23.1-51.2-34.4-77-1.3-3-2.9-6.3 1.3-8.8 4.3-2.6 7.4-.5 9.8 2.6 3.8 5 7.8 10.2 10.6 15.9 10 20.4 19.4 41.1 29.1 61.6A612.7 612.7 0 0 1 1097 529c9 31.6 17.5 63.6 21.5 96.6 2.6 21.4 7 42.7 8.6 65.4-3.3 1-6.8 1-11.4 1ZM221.2 692c-.6-3 .4-5.8.4-8.7 0-49.6 9.6-98 16.6-146.7 5-35 13.3-69 22.5-102.9a253.5 253.5 0 0 1 31.6-69c2.3-3.6 4-10 10-6.9 6.1 3.2 3.2 9 1.4 13.6-7.2 17.6-15.9 34.7-21.8 52.7a748.3 748.3 0 0 0-31 138.7c-1 8.5-2.7 16.8-4.9 25-7.4 28.5-3.8 58.4-10.9 87-1.1 4.7.3 10.1.3 16.2-4.5 1-8.9 1-14.2 1Z" fill="#000"/><path fill-rule="evenodd" clip-rule="evenodd" d="M645.9 165.5c-9 6.6-10.5 15.7-3.6 28.3l4 2.7c2.3 1.5 4.3 3 6.5 3.6 9.5 3 17-2 21.6-9.1 4.7-7 5.5-16.9-1.9-22-7.3-5.1-16.6-10.9-26.6-3.5Zm5.4 17.4Zm0 0c3.8 2.8 7.6 3.4 10.9-.5a3.4 3.4 0 0 0-1.2-5.3c-4.4-1.6-9.2-2.6-9.7 5.8Z" fill="#000"/></g><g transform="translate(266 207)"><path d="M312.3 277.5a421 421 0 0 1 63.7-72.3 299.3 299.3 0 0 1 129-69c32.9-7.8 67-9.5 101.3-3.3 47 8.5 89.1 26 125.2 57.6 6.7 5.8 14.1 8 23.2 8.5 22.8 1.4 43.7 10.6 64.1 19.7a302.2 302.2 0 0 1 72.6 43.8c14.6 12.3 28 25.2 34 44.5 7.6 24-1 38.8-26.3 42.2-3.4.4-6.8.4-9.9 4.2 6.5 18.6 17.2 36.2 19.8 56.7 6.8 56.1-9 100.5-63.8 124-5.5 2.4-11 5.5-16.7.6-5.7-4.9-1-9 .6-13.7.7-2.2 1-5.4 0-7.3-6.5-12.2-6.6-25.4-7.3-38.6-.4-9.2-4-14.8-13-20.7-44.8-29.1-81.6-66.3-103.6-116-2.2-5-3.2-10.3-5.2-16.7-10.3 11-14.5 24.2-22.1 35.2-17.5 25.4-36.7 49-64 64.8-18.3 10.6-35.4 11.3-50.8-6.6-10.2 10-19.6 19.6-29.4 28.8a122.6 122.6 0 0 1-44 27.4c-8.1 2.9-16.7 5.3-24.7.6-6.5-4-10.5-.6-14.5 3-20.2 18.4-43 28.6-71.8 23.4-8.3 23 5 45.7 2.1 67.8-6.7 1.4-7.8-2-8.5-5.4-2.8-13.3-5.5-26.6-8-40a72.8 72.8 0 0 0-30.7-45c-16.1-11.9-39-1-48.8 19.9-15.7 33.7-14.2 68.5-5.7 103.5 4.5 18.6 12 36 21.2 52.9 5.6 10.2 15 15 23.4 21 6.2 4.5 22.6-3.6 30.5-13.8 2-2.7 3.5-6 6-8.3 9.4-9.5 16.3-7.9 19.4 5.2 5.9 25.2 9 51 11.9 76.7 2.7 24 2.9 48.3 11.4 71.5 8.6 23.2.7 41.2-22 50.5-18.5 7.5-60.3 7.3-75-13.2-8.3-11.5-19-14-30.8-17a70.1 70.1 0 0 1-52.2-47.4c-2.4-6.8-3.7-13.6.7-19.6 31.9-43.4 22.3-87.5 1.6-131.2-7-14.6-11-30.4-11.7-46.5-2.3-47.2 5.1-92.8 20.5-137.7 17.7-51.7 42.2-99.9 67.4-148 3-5.5 6.8-10.6 10.9-16.7Z" fill="#000"/></g><g transform="translate(791 871)"><path d="M197.7 98.9c-6-3.3-11.2-6-16.2-8.9a25 25 0 0 0-24-2 158.4 158.4 0 0 1-49 12.9c-12.6.8-25.3-8.2-25.7-18.7-.2-3-.8-6.2 3-7.4 2.8-1 5.2-.8 8 1.7 15.6 14.3 17.8 14.5 36.2 4.6 7.1-3.7 14-7.5 22-9.8 16.9-4.9 31.4-2 44.3 10 4.6 4.2 9.9 6.4 16.2 2.5 2.9-1.8 6.8-2.9 9.2.5 3 4.2-.7 7-3.4 9.7-5.5 5.6-11.2 10.7-20.6 4.9Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><path d="M7.4 185c5.4-8.7 22.6-12.2 32.1-7.3 6.6 3.4 13 7.6 20 1.7 6.5-5.6 4.6-12.2 1.5-18.7-1.6-3.2-.8-5.7 2.2-7.5 3-1.9 5.5-1.1 8.2.8a20.1 20.1 0 0 1 8 21.5c-1.6 7.3-3.8 16-12.7 19-4 1.4-8.8 3.5-12.3 2.4-15.4-4.7-33.8 3.4-47-12Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M215.1 76.6c5-12 9-29.4 24.1-22.5 20.7 9.4 13.9 30.7 9.7 47.4-1.6 6.3-14.5 15.9-18.3 14.3-16.3-6.8-19.2-21.7-15.5-39.2ZM442 113.4c-8.6 7.5-17 7.6-22.2-1.5-9-16-8.6-32.8 3.3-47.2 2.5-3 13.8-3.6 16.3-1 14 15 14.6 31.8 2.6 49.7Z" fill="#000"/></g><g transform="translate(610 680)"></g><g transform="translate(774 657)"><path d="M131.2 43.2c-5.6 16.8-6.6 15.4-23 11.6-26.2-6-52.7-19.2-80.3-4.3-2 1.1-5 1-7.6.8-3.6-.2-8.2 1.3-10.1-3.3-2.1-5 1.5-8.3 5.3-10.3C35.2 27.7 53 13.4 77.9 16c12.8 1.3 26-2.8 39.3-2.4 18.8.7 22.4 5.7 16 23.9l-2 5.8ZM298.7 21.8c9.6 6.6 12.5 16.8 18.3 25a7 7 0 0 1-.6 9.4c-2.4 2.7-5.4 2.8-8.1 1.2-19.1-11-38.9-6.4-58-1.2-10.2 2.7-14.6-.8-17.2-9.2-1.7-5.7-2.9-11.5-3.6-17.4-1.3-9.8 6.9-11.9 13-12.2 18.5-.9 37.4-4.5 56.2 4.4Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/eli.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="M1312 691.3 3 694s25.8-189 56.2-235.7c16.3-25-10.6-45-16.4-70.3-5.8-25.2-11.8-57.9-10.5-67.4 1.2-9.5-1.4-29.3-4.3-43.3-3-14-.2-28.3-7-40.5-7-12.1-8-25 0-30.7 8-5.8 341.2-123.5 341.2-123.5L372.5 61s47-34.8 72.2-40.7c25.2-5.9 47.1-9.7 47.1-9.7s-5.2 24.3-1.4 36.6c4 12.4 81.6 64 143.2 59 84.4 0 150.9-40.4 156.3-56 5.4-15.5-3.3-18.8-6.6-31.7C779.9 5.7 788 1 802.6 9c14.5 8 211.3 110.9 254 130.4 42.6 19.6 202.6 69.4 202.6 69.4s30.2 8.8 26.7 17.2c-7.6 17.9-24.1 1-24.1 49.6 0 30-25.3 125.6-25.3 125.6s39.6 123.7 46.2 148.2c6.7 24.5 29.3 142 29.3 142Z" fill="#fff"/><mask id="bodyVariant05-a" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="516" y="231" width="267" height="460"><path d="m528 691-12-460h266.5L773 691H528Z" fill="#fff"/></mask><g mask="url(#bodyVariant05-a)"><g transform="translate(396 278)"><path d="M204.9 175.7s150.1 43.7 172 42.1c9.5-.6 13.6-7 11.8-16.2a28 28 0 0 0-5.5-12c-2.9-4-186-225.6-203.5-184.5a16 16 0 0 0 .5 12.5c4.3 8 10.8 14.4 16.3 21.3 21.4 24.8 41.6 50.6 63.1 75.3 12.7 14.9 30.5 34.2 37.9 47.7-5.4-.5-15.1-3.5-21.1-4.9-13.5-3.4-27-7-40.5-10.3a313.1 313.1 0 0 0-60.2-9.7c-9.2-.1-20.4-.4-27 7.1-5.2 6.5-6 15.8-2.8 23.3 4 8.3 10.7 15 16.6 22a855 855 0 0 0 29.6 30.9c18.8 18.5 37.3 37.2 56.2 55.5 22 21 43.5 42.3 65 63.7 15.9 15.5 32 30.7 47.9 46.2 4.8 4.7 9.6 9.4 14.8 13.7l5.3 4.2c1.2.8 2.4 1.7 3.9 1.8 2.5-.4 3.3-3.5 3.6-5.7.9-5.8-2.8-10.7-5.6-15.3C358.6 345.7 205 175.7 205 175.7Z" fill="#fff"/></g></g><path fill-rule="evenodd" clip-rule="evenodd" d="M409.2 694c-2.6-57.2-5-114.3-4.4-171.6.8-67.8.7-135.8-.7-203.6-.2-8.6 0-17.2.1-25.7.3-16.5.5-33-1.4-49.5-.2-1.4-.2-2.8-.2-4.3 0-3.7 0-7.6-2.7-11.7l-6.3 3c-8 4-16 8.1-25.8 6.6-11.6-1.9-17.4-6.4-16.6-18.3a489 489 0 0 1 4.5-39.6c2-12.6 2.6-25.3 3.2-38.2.8-15.2 1.6-30.7 4.5-46.4-18.3 5-35.6 10-52 17.8-22.4 10.7-46.6 16.2-70.6 21.7l-5.4 1.2c-25 5.6-49.5 13-73.4 22.2-8.8 3.4-17.8 6.4-26.8 9.4a376.2 376.2 0 0 0-41.7 15.7 993.2 993.2 0 0 0-61.3 32c-7.5 4.2-8.7 11.1-2 18a21.7 21.7 0 0 1 5 23.8A23.5 23.5 0 0 0 37 275a61.3 61.3 0 0 1 4.3 28c0 4.3 0 8.6.3 12.7a281 281 0 0 0 34.8 109.3 467.7 467.7 0 0 1 20 44.4c5 11.8 9.8 23.6 15.4 35 2 4 12.6 30 24.9 61.9 1 2.8-.4 7.2-1.9 11.7-1.5 4.6-3 9.3-1.9 12.2 1.2 3 4.6 4.3 8.2 5.7 3.2 1 6.4 2.3 8.6 4.7 12.2 13.8 15.7 24 20.3 37.7l.2.4c7.5 22.1 8.5 47 8.6 54a32.6 32.6 0 0 1-14.3.2c2-14.3-1-27.3-4.1-40.3-1-4.6-2.2-9.2-3-13.9-2.8-15.3-9.5-26.4-24.5-31.7-10.5-3.6-13.8-10.2-12.7-21.8l1-7.5c1.4-9.9 3-20.1-3-29-15.5-23-26.6-48.3-37.9-74l-6.8-15.4-1.4 2.2a42.5 42.5 0 0 0-6 11.5l-8.4 29C46.2 542.2 34.6 582.3 26 623.2c-5 23.5-7.9 47-9.8 70.8H1.7c-3.5-11.5-1-22.5 1.5-33.5a185 185 0 0 0 2.3-11.1C12 609 22.4 569.7 32.8 530.3l.5-2.1c7.7-29.1 18.3-56.8 29.5-84.5 2.3-5.6 1.2-9.2-2.8-13.7-15.2-17.5-20.3-39.6-23.8-61.6l-1.8-10.8c-4-23.5-7.9-47-6-71-6.7-7.8-7.3-17.4-7.8-27-.6-10-1.2-20-8.7-28.3-6.4-7 2.5-25.2 15-32.2 33.2-18.5 66.8-36 103.5-46.8A517 517 0 0 0 181 134c16.9-7 34.5-10.8 52.1-14.8 11.2-2.5 22.3-5 33.2-8.2 13.6-4 26.7-9 40-14a420.5 420.5 0 0 1 51-17.2c7-1.7 11.3-6.1 11.4-13.6.1-7.7 4.2-12.3 10.1-16.7 22.5-16.9 48.7-25 74.8-33.2l3.4-1c4.2-1.4 8.1-3.2 12-5a65 65 0 0 1 20.5-7c3.3-.6 6.5-1.2 10.2 0 2 6.6-2 9.9-6.8 11.9l-15.4 6.3A806.2 806.2 0 0 1 425.2 42c-7.8 2.7-14.7 7-21.6 11.1-5.8 3.6-11.6 7.1-18 9.7-2.3 1-4.2 5.6-4.6 8.7-3.3 29.3-6.3 58.6-9.3 88l-1.4 13.2-1.4 14.1c-.8 8.6-1.7 17-2.7 25.6 0 .8-.2 1.5-.4 2.3-.5 3-1 6.1 1.8 8.5 3 2.4 5.7 1 8.4-.5l2.2-1c28.3-12.3 48.4-34.2 68.5-56 4.5-5 9-10 13.6-14.7 14.7-15.4 26.9-18.9 45.7-9.7 5.7 2.7 10.9 4.6 17.7 2.1-3.6-7.4-7.5-14.6-11.4-21.8-8.4-15.4-16.6-30.6-22.2-47.1-5-14.6-3.5-29.6-2.1-44.4l.3-3c.5-5.6 4.3-10.2 11.4-10.7 5.9 5.8 6 15.3 6 21-.2 25 18.1 33.3 34.7 40.8l.5.3c50.3 22.9 103.7 25 157.4 16.8a149.8 149.8 0 0 0 80.3-37.2c11.4-10.4 10-22.9 4.5-34.3-4.5-9-1.5-14.8 3.7-20.6 4.7-5.2 10.3-3 15.5-1l2.3 1c30.8 11 59 27.2 87.4 43.4l5 3a493 493 0 0 0 41.3 20.2c12.8 5.8 25.6 11.7 38 18.5 34.6 19 70.1 36.4 105.7 53.6 18.5 9 38.1 15.7 57.7 22.5l16.3 5.8c13.9 5 27.9 9.6 41.8 14.3 12 4 24 8 35.8 12.2 5.4 2 11 2.2 16.6 2.5 5.9.3 11.8.6 17.5 2.8l4.5 1.7c7 2.5 13.8 5 18.8 11.2 7.6 9.5 7.3 17.4-3 23.7-12.2 7.3-18.8 15.5-13.4 30.2 1.6 4.4-.3 9-2 13.3l-.5 1.2-.2.5c-10 25-16.8 79.6-18.6 93.4l-.3 2.8c-3.8 27 2.8 46 10.2 67.7a558 558 0 0 1 5.4 16.4c11.8 38.4 23.2 77 33.6 115.8a1073 1073 0 0 1 21.4 99c.6 3.4.4 7 .2 11v3a25.1 25.1 0 0 1-12.3.2c-9.4-69.9-29.7-136.2-50-202.4A3709 3709 0 0 1 1242 425a158 158 0 0 0-15 32.1 238.2 238.2 0 0 1-50.9 90l-1.2 1.3c-4 4.4-8.8 9.5-8 13.1 2.7 13-3.9 20.6-10.8 28.6l-3.2 3.8a41.5 41.5 0 0 0-8.6 20c-1.3 8.2-2.8 16.4-4.3 24.6a383.2 383.2 0 0 0-7.3 55.5h-14.3c2-6.1 2.4-13.2 3-22.2a250.7 250.7 0 0 1 11.8-67c.7-4 1.7-9.9 11-19.5 8.5-8.6 8.4-18.8 8.3-25.2 0-2.4 0-4.2.4-5.2 5.6-14.2 25.4-39.5 35.1-52 3-3.7 5-6.3 5.4-7.1 23.1-38 39.4-79.9 48-123.6 2.8-13.7 5-27.6 7.3-41.6a1160 1160 0 0 1 7.2-41.8c2.5-13.3 5-26.5 5.6-40.2.3-7.4 6.6-11 12.5-14.5l1.3-.8.5-.2.4-.3c3.2-2 6.7-4 6.2-8.3-.5-4-3.9-5-7.3-6l-1.3-.4c-10.2-3-20.7-5.2-31.1-7.4a299.7 299.7 0 0 1-39.6-10.2l-20.3-7c-13.9-4.9-27.7-9.6-41.3-15a1511.4 1511.4 0 0 1-77.9-32.1 1475.9 1475.9 0 0 1-87-43.7 346 346 0 0 0-58-26c19.6 34.7 23.1 72.8 26.7 110.8.9 9.7 1.8 19.3 3 28.8 1.5 12.7-3 23.5-13.6 30-12.3 7.4-25.3 6.2-37.6-1.4l-3-2.2c-2.2-2-4.6-4-8.3-3.8-.4 49.6 0 99.2.2 148.8.6 101.4 1.2 203-3.3 305a41.8 41.8 0 0 1-16.6.3c.5-20.4 1.5-40.6 2.4-60.7 1-23.4 2.1-46.7 2.7-70 .8-39.9.6-79.7.4-119.6l-.2-22.4c-.2-53-.8-106.1-1.3-159.2l-.2-19.9c0-2 .1-4 .4-5.9.5-5.5 1.1-11-3.3-16.2-6.8-8-13.3-16.1-19.8-24.3L834 178.6a96 96 0 0 0-27-21.6c-10.4-6-14.9-3-17.3 8.3-1.5 6.7-.8 13.2 0 19.7.4 3.7.8 7.4.8 11 .4 80.8-1.6 161.5-4.3 242.2-1.5 45-2.4 90.3-3.1 135.4-.4 23.7-1.5 47.4-2.5 71-.8 16.5-1.5 33-2 49.6-4 0-9.9-.5-13.8-1.3.8-23.1 2-48.1 3-70.2a1987 1987 0 0 0 2.5-58.5c.1-34.5 1.5-99.8 2.8-162.4 1.1-52.7 2.2-103.4 2.5-132.4a6422.8 6422.8 0 0 0 0-105.7c-11.4-1.8-21 3.7-29.6 11.7a60 60 0 0 1-28.4 14.2c-40.4 9-81.3 11.7-122.4 5-21.3-3.4-41.6-9.6-57.9-25-3-3-6.5-5.6-10.6-8.6a374 374 0 0 1-6.7-5.1c0 4.7 1 20.7 2.4 40.7 2.2 33.3 5.2 77.9 5.3 100.7 0 18.2.9 36.4 1.7 54.6l.9 19c0 2.4 5 251 5 305.2v3.5c-.1 4.8-.3 9.7 1.7 14.4-5.6.1-11-.2-16.6-1 1.8-17.9-.6-131.4-2.4-212.6-.8-37.8-1.4-68.6-1.4-79.5 0-41-2.2-82.1-4.4-123.1-1.8-35.9-3.7-71.7-4.2-107.6-.1-10.7-2.9-16.2-13.3-19.5-10.6-3.5-17.7.8-23.5 8-9.7 12-20.3 23-31.9 33.2a61.8 61.8 0 0 0-23.4 49.5c-1 54.5 1 108.8 2.9 163.2 1.9 53.2 3.7 106.4 2.9 159.6-.5 29.7.2 59.5 1 89.2l.8 40.6h-14.3Zm513-569.4c-4.1-23.4-13.4-45-31.4-60.1-23.8-20-52.1-32.5-80.7-45l-14.8-6.6a44.6 44.6 0 0 1 6.6 40.4 133 133 0 0 1-18.5 36.5c-12.7 16.8-19.9 35.7-14.7 58.5 14.7-8.2 28.4-13 44.9-4.6a123.6 123.6 0 0 1 43.1 39c13.6 18.2 27.3 36 46.2 49.1 7.6 5.3 15.7 5 23.3 2 7.7-3.1 7.6-10.8 6.8-17.9-1-9-1.5-18.1-2-27.3-1.4-21-2.7-42.2-8.8-64Zm-397.8-8c-2.6-4.6-5.1-9.3-7.5-14.2a24155 24155 0 0 0-12.2-27.3c84 49.3 169.7 54.2 259.7 13.3l-3.2 7.4c-3.6 8.2-7 16-8.7 24.6l-.6 3c-.9 4-1.7 8-1.4 12.2 1.2 20-4.4 27.7-23.4 34.7-31.6 11.6-64.2 13-97.3 11a243 243 0 0 0-24.4-.4c-19.7.7-35.9-8.2-52-17.2l-6.5-3.5a17.8 17.8 0 0 1-7.6-10c-3.3-12-9.1-22.8-15-33.5Z" fill="#000"/></g><g transform="translate(266 207)"><path d="m316.3 305 31.4-34.4c-12.2-11-21.7-26-17-45.4 4.6-19.4 18-30 37.4-33 1.4-29.5 9.3-37.5 38.8-37.5 9.3 0 10.7-4.8 11-11.8.8-32.3 22.3-48.4 48.7-58.7 31.1-12.2 73.7 5.1 91 34.7a85 85 0 0 1 12 37.2c.7 9.3 3.4 13.7 14.3 12 47-7.7 90.4 5.3 133.3 22.9 47.9 19.5 86 52.3 119.8 89.7 20.8 23 37.5 50.1 41.2 82.7 2.2 19-2 35.1-18.9 46.6-22 15.2-47.3 19.8-73 22.6-13.4 1.5-27.2-.3-40.8.4-34 1.8-65.1-9.5-97-18.4-30.8-8.6-60-20.4-87-37.4-2.3-1.5-5.6-1.4-7.8-2-6.9 5.5-4.2 13.3-6.9 19.5-13.2 31-38.5 48.7-66.5 63.7-14.2 7.6-29.1 13.9-43.3 21.4-19.2 10-28.8 29.4-35.7 49-3.8 11.1-8.5 22.2-9.5 34.3-.4 4.9-3.5 11.7-10.8 10.3-6-1.1-7-7-7-12.2.2-29.1-14.2-53-29.1-76-12.2-18.7-37.8-19.9-53 2.4-4.8 7.1-7 15.6-11 22.9-3.8 7-7.3 14-11 22-9.4-4.2-11.9-12-14-20.1-4.8-18.7-1.4-37.3 1-55.7A337.7 337.7 0 0 1 291 344c7-13.6 16.4-25.5 25.4-39Z" fill="#000"/></g><g transform="translate(791 871)"><path d="M99.3 109c-12.6 6.6-16.2-1.7-20-10.4-3.3-7.8-.8-18.1-13.5-21.8-6-1.7-.7-10.5 2.2-15.4 2.4-4.2 6.9-6.4 10.6-2.4 15.8 17.4 37.8 16.7 58 20C160 82.8 182 73.9 204 67.6c4.4-1.2 9.2-5.2 13-1 4 4.6 4.9 11.2 2 16.7a51.8 51.8 0 0 1-19.5 22.8c-4 2.4-8 4-11.6.1-6.4-6.7-11.1-5.7-18 .4-12 10.6-19.3 9.1-31.1-3.6-4-1.1-4.8 2.7-7 4.4-7.6 5.7-15.7 7.9-22.5-.3-4.8-5.7-6.7-2.7-9.9 1.9Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><path d="M76.7 82.4a205.6 205.6 0 0 0 3.3 80.2c4.7 22.4-15.2 54.4-46.8 49.7-11-1.6-17.5-8.1-21.3-17.8-1.7-4.3-1.5-8.8 3.3-11 4-1.7 7.4-.2 9.4 4 4.8 10.1 13.4 9.4 21.9 6.9 9.6-2.9 16.4-9.6 17.1-19.9.7-10.1.2-20.3-1.6-30.4a159.3 159.3 0 0 1 8.8-89.5c2.2-5.7 5.4-10.9 11.9-8.3 7.5 3 1.8 8.8.7 13.1-1.7 7.4-4.2 14.7-6.7 23Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M407.4 122.5c13 .3 25.4 1.1 37.6 2.5 3 .4 5 3.3 5 6.7 0 3.3-1.7 5.6-4.7 7-11.2 4.8-22 8.2-33.7.2-6.5-4.5-9-8.7-4.2-16.4ZM247.6 117c7 0 7.8 3.8 7 8.5-2 10.2-20 22.4-30.4 20.5-5.9-1-10.5-4-10.7-10.5-.2-6.7 4.8-8.2 10.3-8.4 9-.3 15.8-5.2 23.8-10ZM215.1 76.6c5-12 9-29.4 24.1-22.5 20.7 9.4 13.9 30.7 9.7 47.4-1.6 6.3-14.5 15.9-18.3 14.3-16.3-6.8-19.2-21.7-15.5-39.2ZM442 113.4c-8.6 7.5-17 7.6-22.2-1.5-9-16-8.6-32.8 3.3-47.2 2.5-3 13.8-3.6 16.3-1 14 15 14.6 31.8 2.6 49.7Z" fill="#000"/></g><g transform="translate(610 680)"><path fill-rule="evenodd" clip-rule="evenodd" d="M372.1 25c48-35 106.4-15.5 124.2 37 11.5 33.7-3 78.3-44 93.1-41.7 15.1-78 1.6-98.3-36.3a72.8 72.8 0 0 1-7.6-28c-1-11.5-5.7-17.1-16.7-18.6-12.4-1.6-20.5 3.6-24.5 15.4-1.3 3.8-2 7.8-2.8 11.7-.8 4.7-1.7 9.4-3.5 14-21.2 53.8-89.3 64.8-129 22.7a81.8 81.8 0 0 1-16.8-32.6 44.2 44.2 0 0 0-30.5-30.9c-19.7-6.6-39.3-13.9-59-21-11-4.2-22-8.3-33.2-12.2-5.7-2-11.7-4.4-8.7-11.3 2.2-5 6-3.4 9.7-1.8 1.1.5 2.3 1 3.4 1.3a530.5 530.5 0 0 1 50.3 18c16.6 6.6 33 13.1 50.2 18a18 18 0 0 0 22.5-11.1 68.8 68.8 0 0 1 63-44.6c34.6-2 62.7 12.9 77 47.2 1 2 2 4 3.2 6l1.6 3a57 57 0 0 1 45.6.6 81.5 81.5 0 0 1 24-39.5ZM248.8 144.5c24.3-10 40-27.5 43-53.8 5.6-49.4-42-83.2-89.2-65.2a63.4 63.4 0 0 0-27.7 95.1c18.4 25.1 42.8 31.3 74 24ZM433.6 20.1c19.5 1.6 33.6 15.1 44.7 31 14.2 23.7 11.3 55.3-11 79-14.8 15.7-48 23.3-70.3 13a62.3 62.3 0 0 1-37.6-65.7c6-45.2 40-60.2 74.2-57.3Z" fill="#000"/></g><g transform="translate(774 657)"><path d="M47.1 22c23.6-.3 45.4-8.9 68.1-5.8 18.2 2.5 36.3 4 54.6.9 6.6-1.2 11.6 2 13 12 1.5-13.5 13.4-12.8 17.1-11.2 15.5 6.6 30.2 1 44.9-.5 20-2 48.5 10.6 58.3 28.4a52 52 0 0 0 4.4 6.1c2.8 3.7 7.3 7.2 3 12.1-4.1 4.6-9.2 1.7-13-.3C289 59 280.8 53.7 273 48a18 18 0 0 0-19-2.4 76.4 76.4 0 0 1-38.9 4.4c-14.4-1.5-29.5 3.4-43 2-21.5-2.5-43.2 3.4-64.2-3.5-8.4-2.8-16.7-6.9-25.1.2-.9.7-2.7 1.3-3.6.9-12.3-6-24.4 0-36.4.1-10.2 0-20.2 3-30.3 1.6-3.8-.5-9.2 2-11-3.6-2-6.2 4-8.2 7.5-10.3C17.4 32.2 26 26.7 36.7 26c3.2-.2 6.3-2.4 10.4-4Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/finn.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="M1313.4 698 9.7 694.7S43.1 485 106 365.7c17-32.4 81-128.7 141.8-189.6 40.8-41 87.7-56 89-62 2.2-9.7-11-41.4-8.8-48.5 8.1-25.5 9.5.8 42.1-31.8 18.3-18.2 1.4-29.6 21.6-43.2 29.8-20 60-8.7 87-7.6 18 .7 12.4 50.3 27.3 62.5 40.3 32.9 91.8 54 128 63.5 46.1 12.2 61.6-2.5 85.4-12.2 23.8-9.6 38.5 12.2 68.9-33.2 14.2-21.2-11-42.6 8.2-54C826.6-8.3 872.2-7.7 891.1 2c28.9 14.8 16.3 41.6 16.3 41.6s35.7 11.6 43 22c7.2 10 5 44 5 44s-2.8-13.7 63.4 23.5c84.2 47.4 179.2 187.2 223 296 46.6 115.8 71.6 269 71.6 269Z" fill="#fff"/><path d="M1307 698c-9.4-38.5-16.9-77.2-25.6-115.7-6.3-27.8-14-55-22.4-82.2-9.5-30.6-19.5-61-33-90.4-9.6-20.7-19.4-41.1-29.5-61.5a673 673 0 0 0-57.7-92.4 470.2 470.2 0 0 0-60.5-70 342.9 342.9 0 0 0-83-57.4c-3-1.5-6.6-2.3-9.2-4.3-17-12.7-33.7-6.3-44.8 12.9-30.8 53.2-78.6 77.6-137.2 85.4a19 19 0 0 1-6.4 0c-5.6-1.2-13.6-1.2-13-9.1.7-7 8-4.5 12.7-5.1 43.7-5.8 84-19.6 113.4-54.3 12.4-14.8 21.6-32.4 31.3-49.3 10.2-17.9 2.4-45-23.7-50.5-11.8-2.5-19.5-6.3-16.2-21.4 2-9.6-4.8-18.9-13.2-23-10.4-5-21.7-9.1-34.5-5.6-11.7 3.2-24.2 4.1-36.3 6-7.1 1-12.2 5.8-18 9.4-4.4 2.8-4.4 6.4-2.5 11 7 17.4 1 39.8-13.9 51-14.7 11.2-30.4 20.2-50 18.4-4.9-.5-8.9 1.2-12.8 4.4-14 11.8-30.4 14.5-48.7 14.3-38.8-.4-74.2-12.6-109.2-27.3-7.8-3.3-13.6-12.6-26.5-7.5 27 34.9 67 48.4 105.6 67.6a26 26 0 0 1-24.8 3c-51.4-17.5-91.9-47.6-117.2-97-8.4-16.5-14.9-33-18.1-51-2.3-12.6-5.7-13.8-17.6-8.4-13.2 6-24.9 14.3-35.7 23.6-12.5 10.8-20 24-18.1 41.5 1 8.4 0 17 .2 25.6a47.3 47.3 0 0 0 35.2 46 37 37 0 0 1 18.4 10.8c-14.6 6.6-40.5-1.2-53-15.9C377.8 89.8 391.1 21 437.3-3.2l5-2.8a39.9 39.9 0 0 0-54 19A80.5 80.5 0 0 1 349 56c-15.3 7.7-19.8 28.7-7.8 39.4 23.4 20.8 43 45.8 69.9 62.6 15.4 9.6 30.1 21 46.7 28 15.8 6.5 33.6 8.4 50.6 11.8 5 1 10.2.8 13.3 5.6.3 3.4-1.7 5.6-4.4 5.5-32.1-1.5-63.4-4.4-92-23a437.5 437.5 0 0 1-69-54.1c-11-11-23.1-6.1-34 0-39 22-72.5 50.9-102.9 83.7a615.2 615.2 0 0 0-87.4 123 870.6 870.6 0 0 0-50.5 108A1198.4 1198.4 0 0 0 47 548.6a558.2 558.2 0 0 0-20.6 102.1c-1.3 15.2-7.3 29.7-7.9 46.2-5.5 1-10.8 1-17.1 1 4.6-32.9 9.9-66 16.2-98.8 3.7-19.1 9.2-37.9 13.7-56.8 5.6-23.6 13.4-46.5 21.2-69.4a831.6 831.6 0 0 1 84-179c16.9-27 36-52.4 57-76 36.7-41.1 76.3-78 126-103 6.4-3.3 9.3-7 4.1-15.1C314.4 85 317.8 54 339 44.4c16.6-7.6 26.6-22 34.3-37.8a56.1 56.1 0 0 1 51.4-33.3c19.6-.5 39.2-.7 58.8-1 9 0 14.1 1.6 10.1 12.7C491.1-8 492-.5 499 4.5a8.7 8.7 0 0 1 4 6.1c4.4 31 27.1 45.6 52.1 57.7 19.8 9.6 39.6 20.3 60.5 26.3 21.8 6.3 44.5 12.1 67.7 10.5a46 46 0 0 0 26.9-10.8c6.3-5.4 14.2-4.9 21.6-6.4 17-3.4 32.5-9.8 45-22.1 11.2-11.2 12-22 3.3-35.3-7.8-11.9-3.3-33.8 8.5-40.8 3.5-2 8.7-2.8 9.8 1.6 3 11.4 9.8 6.6 15.9 4.8a159 159 0 0 1 55.3-8.2A58 58 0 0 1 906 3.5c7.8 6.9 9.7 15.6 9.8 25.3 0 7.6 2.4 11.9 11 13.9 24.7 5.6 33.8 17.7 34.2 43.1 0 5.3 1.4 8.3 6.3 11 34.6 18.7 70.4 35.4 101.6 60 29.3 23 53 51.1 75.5 80.4A719.4 719.4 0 0 1 1245 414c18.2 46.5 33.7 94 46.4 142.4 12 46 16 93.5 27.1 140.6-3.2.9-6.7.9-11.4.9Z" fill="#000"/><path d="M1122.7 698c-9.3-36.4-12.3-73.8-22.2-110-7.8-28.4-14-57.4-24.2-85-7.2-19.4-14-39-23.5-57.7-12.7-25-23.3-51.2-34.7-77-1.4-3-2.8-6.3 1.4-8.8 4.4-2.7 7.6-.6 9.9 2.7 5 7.3 10.2 14.6 14.2 22.5 16 31.2 32 62.7 43 96 7.5 22.8 15.6 45.5 21.2 69 3.9 16.5 8.2 33 12 49.4 7 32.2 11.9 65 14.5 97.9-3.4 1-7 1-11.6 1ZM219 698a451 451 0 0 1 4.4-86.5c3.7-29 4.4-58.3 11-87 3.9-17 9-33.6 13-50.4 7.4-32.1 18.1-63.5 34.6-92.4 2.4-4 4.8-8 7.4-12 2.3-3.3 4.1-8.7 9.5-6.2 5.7 2.8 3.2 8.2 1.8 12.4a320 320 0 0 1-10 26.1c-18 40-33 81.2-40.6 124-7.3 42-15.8 84.3-14 127.6.7 14-1.6 28-2.6 43.2-4.5 1.2-9 1.2-14.4 1.2ZM629.3 367.8c-1.5-9.8 2.8-16.7 6.6-23.9 11.4-21.3 8.4-29.9-11.6-42.6-17.7-11.3-35.3-23-44.2-44-5.8-14-4.4-28.3-6.2-42.4-1-7.2 2.4-16 12.3-16.7 9.4-.6 20.9-3.5 25.6 8.4 3.4 8.6 2.1 17-6.2 24-15 12.8-13.9 19.7 3.7 29.1 13.8 7.4 28.5 13.3 40.5 23.9 23.8 21 26 56 4.5 79.2-6.8 7.3-7.8 15.3-6 24.6.9 4.3 2.7 10.2-3.1 12.3-5.3 2-6.5-4-9.2-7-6.3-6.8-7.1-15-6.7-24.9ZM804.3 405.5c1.2 3.4 4.6 5.2 3 8.6-20.6.3-34.9-24.4-26-44 5-11.3 13.4-20.6 15.8-33.3 3-16.5 0-25.2-15-32.3-27-12.9-39.8-33-35.3-63.4 1.4-9.4 1.4-17.6-11.8-20.7-9-2.2-11.2-12.2-9.2-21 2-8.5 8.8-13.9 17-12.6 7.6 1.3 17.4 3.5 16.7 15.4-.2 3-.4 6.1 2 8.4 11 11 8.6 24.1 6 37.1-2.2 11.1 0 20.3 9.8 26.8 6.4 4.2 12.5 8.9 19.2 12.6a49 49 0 0 1 13 78.4c-14.3 16-15.7 25.7-5.2 40ZM851 92c16.8-7 17.8-16.8 17.5-33.6 0-5-2.4-10 .8-14.9 11.1 2.4 17.6 16.4 14 30a48 48 0 0 1-48.7 35.4 41.9 41.9 0 0 0-31.2 13c-7.7 7-16.5 10.5-27 4.4 18.8-9.4 31.1-30.8 55.7-28.2 6.8.7 12-3.5 18.8-6Z" fill="#000"/></g><g transform="translate(266 207)"><path d="M313.9 274.5c5.3-4 4.1-9 4.2-13.6.4-22.7 11.9-37.6 33.8-43.1 7-1.8 11.9-5 12.1-12.6.8-25.2 39.8-49.6 64-42.7 5.3 1.4 10.7 2.3 16 3.5 8.9-41.5 37.2-54.7 62.2-52.7 9 .8 17.7 2.7 26.2 5.6 6.5 2.2 10.2.5 14-4.7C583 63 658.8 47.9 715.2 73.2a85.6 85.6 0 0 1 26 17.5 21.9 21.9 0 0 0 21 7.1c32.7-4.3 54.4 22.2 61.3 46.6 4.8 17.1 10.1 31.3 24.7 43.2 68.2 56 39.4 119 39.2 119.6-14.3 33.2-3.3 34 3.5 50.9 9.5 24 7.7 47.3-10.8 66-7.1 7.4-10.8 12.4-11.2 23.4-.8 20.4-11.4 34.1-36.8 36-8.5-51.8 1.7-95.7-2.5-149.4a53.8 53.8 0 0 1-43 1.2c-2.9-1-5.3 2-7.3 4.4a72.3 72.3 0 0 1-87 23.7c-10-4-15.7-1.3-22.4 5.2a63 63 0 0 1-56.5 18.5c-8-1.3-16-2-24-2.3-7 0-11.6 4.4-14.7 10.7-14.4 28.7-38 42.1-69.9 40.7-19.9-.9-32.2 7-40.2 25.7a45.3 45.3 0 0 1-35.8 26c-27.6 3.6-37.3 30-40.2 52-1.5 11.6-1.1 23.7-6 34.4-8.4.3-7.5-5.3-8.4-9.7-3.9-20-7.5-40.3-18-58.1-7.7-13-16.4-25.6-34.8-23-11.3 1.5-18.4 9.8-26.5 16.4-3.2 2.7-5.8 6.2-8.6 9.4-14.3 16.3-17.5 16.5-30.4-2.6-13.7-20.3-23.5-44-12-69.7 4.6-10.5 0-19.7-2-29.7-6.8-35.6 3.8-67 25.1-95.3 12.2-16.3 28-28 46.9-37.5Z" fill="#000"/></g><g transform="translate(791 871)"><path d="M188.2 86.4c-26.7 11.3-52.6 12.5-78-.5-6.5-3.2-12-2.4-18.7.7-3-9.6-3.7-18 3-25.5 2-2.1 3.9-5 7.4-3.7 3.1 1 5 4 4.2 7-2 7 3.5 7.8 7.4 9.7 26.8 13.6 52.6 8.7 78.1-4.1 4-2 4-5 3.7-8.6-.3-3.7.8-7 5.3-7.2 4.5-.2 7.6 2.4 7.9 6.7.5 7.1 0 14.3 0 22.8a22 22 0 0 0-20.3 2.7Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><path d="M69.4 96c-.6-14.1-4.3-27.2.4-40.1 1.2-3.3 1.2-8.6 6.7-8 5.5.8 4.5 5.6 4 9.2-4.6 30.7 7 58.6 15 87 2.7 9.3 6.6 18.2 6.1 28.4-.8 16.4-11.3 26.4-27.4 23.6a29.5 29.5 0 0 0-17.2 1.8c-14 5.6-26-5-39.6-5.3-4 0-6.6-7.3-7-12.7 0-2.5.4-5.2 3.5-6 2-.8 4.4.2 5.3 2.2 3.6 7 9.3 3.2 14.4 4.2 11.9 2 23 1.3 34.8.9 5.8-.3 11.7 3.3 17.2-1.7 5.8-5.2 4-11.3 2.2-17.6C81.7 140.3 72 119.7 69.4 96Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M419.6 111c-4.2-9.5-9.9-15.2-19.8-15.7-6-.3-7-5.1-8.9-9.8 2-1.5 3.5-3.7 5.3-3.8 21.1-1.7 42.4-1.8 63.5-.1 6 .4 9.3 8 3.2 10.4-10 4-12.5 13.2-18.5 19.8-8.2 9-15.2 9.1-24.8-.8ZM228.6 81.4c12.2.7 23.1 1 34 2 3.6.3 8 1.8 8 6.7 0 5.6-4.6 5.2-8.3 5.1-6.3 0-9.7 2.7-12.5 8.6-3.4 7.4-6.9 15.3-18 14.8-10.5-.5-15.1-7.2-18.1-15.2-2.2-5.7-5-8.4-11-8.2-3.4.1-7.1-.2-7.5-4.9-.4-5 3-6 7-7.2a67.9 67.9 0 0 1 26.4-1.7Z" fill="#000"/></g><g transform="translate(610 680)"></g><g transform="translate(774 657)"><path d="M56.8 30.9c9.5-10.6 21.8-16.2 31.6-25C93 1.8 98 3 101.8 7.5c3.8 4.3 7.3 8.3 2.7 14.5a83 83 0 0 1-42.7 28.3C47.4 55 32 56.5 17 59.3c-4.5.9-10.2 3.3-11.5-3.6-1.2-6.6 3.2-10 9.5-11.2 14.2-2.8 28.4-5.2 41.8-13.6ZM289.9 29c11.3 2 18 11 27.8 14.2 3.8 1.2 8.4 4.7 6.6 9.5-2.1 5.8-8 4.3-12.2 3a450.2 450.2 0 0 1-39.2-14.5c-12.8-5.6-25.1-12.4-37.4-19-6-3.2-11.6-7.8-7.4-15.2 4.2-7.3 11-9.5 18.3-3.7C259.4 13.8 275 19.8 290 29Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/iris.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="M1313.4 698 9.7 694.7S43.1 485 106 365.7c17-32.3 81-128.7 141.8-189.6 40.8-41 87.7-56 89-62 2.2-9.7-11-41.4-8.8-48.5 8.1-25.5 9.5.8 42.1-31.8 18.3-18.2 1.4-29.6 21.6-43.2 29.8-20 60-8.7 87-7.6 18 .7 12.4 50.3 27.3 62.5 40.3 32.9 91.8 54 128 63.6 46.1 12 61.6-2.6 85.4-12.3 23.8-9.6 38.5 12.2 68.9-33.2 14.2-21.2-11-42.6 8.2-54C826.6-8.3 872.2-7.7 891.1 2c28.9 14.8 16.3 41.6 16.3 41.6s35.7 11.6 43 22c7.2 10 5 44 5 44s-2.8-13.7 63.4 23.5c84.2 47.4 179.2 187.2 223 296 46.6 115.8 71.6 269 71.6 269Z" fill="#fff"/><path d="M710.4 698a41.5 41.5 0 0 1-3.3-13.8c0-9.2-3.2-14.3-13.5-13.7-6.4.4-13-3.3-13-9.6-.2-8.2 7.8-6 12.7-5.7 9.3.7 12.2-4.1 12.4-12.1 0-4.6-.8-11 5.6-10.8 5.4 0 11.2 4 11.4 10 .4 9.8 4.5 14 14.1 13.6 8.7-.3 8.8 6 8.9 12.2-2.3 3.5-5.8 3.8-9.1 3.8-9 0-13.8 4-12.9 13 .7 6.6-3.7 9-8.5 12.5-1.6.5-3.2.7-4.8.6ZM472.4 698c-1.4-4.5-2-9.3-1.9-14 .8-10-3.1-14.5-13.3-13-4.7.7-8.2-1.6-11.2-4.9-1.8-1.9-3.6-3.8-2.6-6.7 1-2.7 3.5-3.8 6.2-3.5 13.3 1.7 21.4-1.9 19.7-17.4-.3-3.3 2-7 6.4-6 5.1 1 9.3 4.3 9 9.4-.6 11.3 4 15.2 15 14.2 9.7-.9 8.8 6.6 9.4 13.4-3 1-5.4 2.4-7.7 2.3-10.9-.6-16 3.7-14 15 .9 5.3-3.7 7.2-7.7 10.5-2.4.6-4.8.8-7.3.7ZM948.4 698c-1.8-3.2-3.7-6.5-3.7-9.7 0-11.6-1.8-20.2-17-17.6a9.5 9.5 0 0 1-10.6-9c0-6.9 6.4-5.8 10.8-5.6 10.1.6 15.3-3.2 14.6-14-.3-3.6 1.2-7.2 4-9.6 7.6 2 14.2 4.8 14.5 14.3.1 6.4 3.1 9.5 9.5 9.2 9-.6 12.4 3.8 11.4 12.3-2.5 3.2-6.2 2.5-9.5 2.9-7.3.8-12.3 3.5-11.1 12 1 6.4-2 10.4-8 14a11 11 0 0 1-4.9.8ZM236.9 698a27.7 27.7 0 0 1-3.3-11.2c-.2-11-3-17.7-16.3-16.2-5.2.6-11.6-3.5-11.3-9.8.3-6.5 7-4.6 11.3-4.8 12.7-.6 12.7-.5 16.3-21.8 7.7-2.3 12.6 1.2 13.1 8.7.7 10 5.4 13.7 14.7 13 6.7-.6 10.8 1.9 11 9 .2 8.2-6.5 7.3-11 6.7-10.5-1.5-12.5 3.9-11.8 12.5.4 4.9-.1 9.4-5.4 13.1-2.4.7-4.9 1-7.3.8ZM1186.3 698c-1.7-2.8-3.7-5.6-3.5-8.3.6-13-2.4-21.2-18-19.8-4.4.5-10.8-3.4-10.4-9.3.5-6.9 7.2-4.8 11.3-4.4 11 1.2 16-2.7 14.8-14a8.8 8.8 0 0 1 4.5-9.3c6 1.5 12 3.9 11.6 12-.3 8 3 11.8 11.2 11.3 4-.2 8 .4 8.1 5.8.2 5.7-2.7 8.9-8.5 8.6-8.5-.4-11.4 4.1-10.7 11.8.5 6.3-3.2 10.3-8 14.9-.5.7-1.8.7-2.4.7ZM611.4 540.8c3.4.4 6.7-.1 8.2 1.3 3.4 3.3 11.5 2.6 10.3 9.4-1 6.3-7.7 6.2-12.6 6-15-.5-14.2 11-15.4 21.5-8.3-.8-15.2-2-15.9-11.5-.6-7.4-5.5-9.2-11.4-9.2-7.5-.1-10.7-4-11-11-.2-7.6 5.5-7.7 10.5-7.9 7.8-.3 10.6-4.3 9.5-11.6-1.3-9.4 5-12.5 12-12.6 8-.1 6.6 7.2 7.2 12.4.6 5.5-1.7 12.7 8.6 13.2ZM821.6 521.5c3.9-4.9 9-5 13.3-6.4 1.2.9 2.3 1.2 2.5 1.9a55.4 55.4 0 0 0 22.3 26.3c3 1.9 7.4 2.7 8 7.8-2.7 7-9.3 6-15 6.3-7.5.4-12.3 2.3-10.8 11.4.7 4 .7 10-5 9.9-5.5 0-12.7-1.6-12.8-9.3-.2-9-4.2-11.7-12.6-11.6-10.7.2-9.9-8-10.7-16.4 11.6-1.5 24.7-1.8 20.8-19.9ZM1059.2 533c.1-3.5.3-6 .2-8.6-.5-7.4 5.7-8 10.2-8.9 6-1.1 6.5 4.2 6.7 8.5.5 10 1.3 18.6 15.6 17 5.2-.7 12.4 4 12.5 10 .1 6.1-7.1 6.1-12 6.3-8.6.2-13.8 3.2-13.7 12.7.1 4.2-.6 9.7-6.2 9.2-5.3-.5-11.9-2.6-12.2-9.2-.4-9.4-4.8-12-13.5-12.6-8.2-.5-8.2-8-9.1-13.4 5.8-8 18.8 2.9 21.5-11ZM1094 200.6c-2.4 2-4.8 1.9-7.2 1.6-6.6-.7-9.6 2-8.3 8.4 1 4.7-1 7.1-5.6 7.8-5.5 1-5.8-3.2-5.8-6.5.1-6.9-1.6-11-10-9.9-4 .6-8.4-1.9-9-5.6-.7-5 4.4-5.1 8.1-5.8 5-.8 9.2-2.1 9.4-8.2 0-2.8.9-6.5 4.8-6 3.6.6 7.9 1.9 7.7 6.8-.2 5.7 2.3 7.4 8 7.1 6.8-.4 8.2 4.4 8 10.3ZM953.5 221c-10.6 2.8-8.7-5.2-9.4-9.8-1.3-8.9-3.3-15.4-14.7-14.5-5.4.4-12-3-12.6-8.6-.7-7.7 7-7 12.2-7.7 7.6-1 12.8-4 13.4-12.5.2-4.2.8-10 6.4-9.1 5.1.7 12 2.5 12 9.5-.1 9 3.6 11.5 12.2 11.6 9.1.1 9.5 7.7 9.9 15.3-2.3.7-4.3 1.9-6.2 1.8-10.8-.7-17.6 2.2-15.5 14.9.8 5-1.7 8-7.7 9.1ZM1283.8 554.4c3.1 6.4-.4 9.7-4.9 9.6-15.5-.5-25.6 3.9-20.6 22.4-10.2.3-16-3.3-16.7-10.9-.8-8.3-4.9-11.3-12.1-11.5-10-.3-10.6-6.3-9.5-13.7 2.8-2.8 6.3-3 9.7-3.1 7.2-.2 10-4.2 9-10.8-1.5-10.4 6.1-13.2 13-13.1 7.8 0 6.1 8 6 13-.2 8.3 2 13.4 11.5 12.3 5.5-.6 9.8 2 14.6 5.8ZM381 540.8c2.9 1.3 5.7 3 8.3 4.8 6.4 5 4 8.5-2 11-2.5.8-5 1.2-7.6 1-11.6-1-16.8 3.7-14.6 15.6.3 1.5-.5 3.2-.8 5.4-8.7.3-14.3-2.7-15.4-11.5-.8-7-5-9.4-11.4-9-7.8.4-10.4-3.9-10.7-11-.4-8 5.3-7.7 10.3-7.7 8.5 0 11.6-4 10.5-12-1-8.3 3.8-12 11-12.4 8.2-.4 6.4 6.9 6 11.3-1.2 12.1 3.8 16.6 16.3 14.5ZM90.2 409.2c-2.4-13 7.3-11.7 12.9-14.1 3.4 1.2 4.1 3.3 4.3 5.4 1.2 12.4 3.2 23.4 20.3 21.2 3.5-.5 8.6 3 8.2 8.2-.5 5.3-5.3 6.7-9.5 6.6-11.3-.3-18.1 3.3-17 16 .3 3.2-1.4 6.3-5.1 6-5.6-.3-11-3.7-11.1-8.7-.5-11-6.8-13.5-15.7-14.3-5.6-.5-6.4-4.8-6.7-9.2-.5-5.4 3.5-6.2 7.4-6.7 6-.7 12.5-.4 12-10.4ZM550.4 294c-.5-10.2 7-11.6 13-11.5 7 0 6 7.2 5.9 12-.4 8.7 1.9 14.1 12 13.1 4-.4 7.2 2.2 10.6 3.9 2.8 1.3 5.4 3 5 6.6a6 6 0 0 1-6.4 5.3c-15.3-.7-25.5 3.8-20.8 22.2-9.4 0-15.4-2.7-16.5-9.7-1.4-8.6-5.7-12-13.6-12-6.8 0-9-4-9.2-9.7-.1-6.5 4.6-7.7 9.6-7.4 8.8.6 13.2-2.3 10.4-12.8ZM1045.4 303.2c9.9.8 15.2-2.3 14-12.1-1-7.6 3.7-11.6 10-12.1 8.4-.7 6.8 6.8 7 11.9.2 8.8 3.5 13.9 13 12.7 4.3-.5 7.2 1.7 10.2 4 2.4 1.9 5.5 3.2 4.8 6.9-.9 4-4.4 5.4-7.8 5.2-12-1-20 2-18.4 16.4.3 3-1.8 6.3-5.3 5.9-5.6-.7-11.9-3-12.3-9-.8-9.9-5.4-13.4-14.6-13.3-5.5.1-6.4-4.6-7.5-8.8-1.3-5.1 1.5-6.9 7-7.7ZM92 555.3c-5.2-10.6-1.7-15.5 8.7-15.5 9 0 12.1-3.5 9.6-12.7s5.7-10.7 11.5-11.7c6.7-1.2 7.2 5.2 7 9.6-.5 10.6 2 17.1 14.6 16.7 4.4-.2 10.6 3 10.7 9 .1 7.4-6.7 6.3-11.5 7-10.7 1.3-10.8 1.2-14.5 20.8-6.3 2.2-13.7-1.6-13.7-5.4-.2-15.7-11.9-14.7-22.3-17.8ZM872.2 273.3c3.8-4.7 8.5-5.1 14-6.2.7.9 1.3 1.8 1.8 2.9 6.2 16.7 6.3 16.5 21.2 24.5 3.4 1.8 9.2 3 8 8.5-1.1 6-6.7 5.7-11.4 5.6-8.2-.1-15.9-.2-14.6 11.7.4 4 1.3 9.8-4.6 10.2-5 .3-11.4-2.4-11.9-7.7-1-11.2-7.3-14-17-14.5-5.5-.2-6-5.3-6.5-9.6-.5-5 3-7.2 7.2-6.7 15.3 2 13.7-8.3 13.8-18.7ZM939 415.5c5.5-6.1.5-15.5 8.9-20.4 6.3 3 14 4.9 13.4 15-.4 7.2 4.9 8.3 10.4 8 7.1-.5 10.3 3.6 10.8 9.8.6 8-6 6.9-10.7 6.9-7.5 0-11.5 3.1-10.4 10.7 1.4 10.2-5.3 11.9-12.3 13.5a10.2 10.2 0 0 1-4.5-8c-1-10.5-3-19.1-17.3-17.6-4.3.4-10.4-3.8-10-9.6.3-6.2 6.4-5.2 11-5.8a64 64 0 0 0 10.6-2.5ZM415.2 216c-6.9-.7-12.4-3.8-12.3-9.7.1-7.3 7.5-6.7 12.7-7.5 6.8-1 12.5-2.6 12.3-11.4-.1-4 .2-9.4 6.1-9.2 5.2.2 10.6 2.3 10.2 9-.4 8.7 4.4 11.2 11.7 11 10.4 0 12.7 6.4 12.7 15-6.3 6.5-15.3-.2-21.6 4.5-2.6 4.3-.3 8.5 0 12.6.5 7-4.2 8.7-9.4 9.7-7 1.3-7.7-4.1-7.6-8.8.2-9.7-1.3-17.3-14.8-15.1ZM710.2 395.5c8.1 2.3 13.8 5.7 13.2 15-.4 7.3 5.4 7.8 10.8 7.5 7.4-.4 11.6 3.3 11.7 10.3.2 8-6.6 6.5-11.3 6.5-8 0-12.2 3-11.2 11.4 1.3 9.4-4.5 11.6-11.6 12.3a7 7 0 0 1-4-6.6c-.5-10.9-2.8-19.1-16.9-18.2-4.5.3-10.6-3.8-10.6-9.3 0-7.1 6.7-6.6 11.7-6.3 9.9.6 14.2-3.7 13.6-13.6-.3-3.4.2-6.9 4.6-9ZM491 435.8c-3.2 2-4.2 4.5-3.6 7 2.2 10.3-2.6 15-12.2 16.3-.8-.4-2-.6-2.2-1.2a66.4 66.4 0 0 0-22.9-25.6c-3-2-7.1-3.8-6.7-8.5a5.6 5.6 0 0 1 6.1-5.3c15 2 20.7-5.3 20.9-19.1 0-1 1.4-2 2.3-3.2 7.2.6 12.4 3.3 12.3 11.4-.1 7.2 4 10.2 10.3 10.1 8-.1 14.1 2.6 13.5 11.1-.7 9-9.1 4.9-14.3 6.2-.8.3-1.6.3-3.4.8ZM267.3 434.4c-11.7-.4-19.5 1.5-17.8 15.3 1.1 8.4-5.7 9-11.6 9.7-4.1-3.2-4.1-7.8-4.4-11.9-.6-9.2-4-14-14.3-13.4-6 .2-12.5-3.7-12.6-10.1 0-7 7.2-6 12-6 7.8 0 12-2.8 12.5-11 .2-4.4-.3-10.8 6.4-10.5 5.2.2 9.7 4 9.4 10.1-.5 10.3 5.4 12.1 13.9 11.5 4.4-.3 8.6.4 10.3 5.5 1.4 4.2 3 8.4-3.8 10.8ZM346.7 323.6c-3.7-3.5-7.7-3.6-11.5-3.6-7.1 0-8-5-8.3-10.4-.4-6.3 4.1-6.9 8.5-6.7 9 .5 13.8-2.6 12.3-12.5-1.2-8 4.8-11 10.6-11.5 8.2-1 6.6 6.5 6.3 11-.7 11 1.6 17.1 14.9 14.5 5.9-1.2 12.6 3.1 12.8 9.6.3 7.2-7 5.7-11.8 6-12.2.6-12.2.5-17.4 22-11.4-.3-14.3-8.4-16.4-18.4ZM1210.6 434.8c-8.9-.4-14.6 1.6-13.8 11.2.5 7.3-4.2 10.5-10.3 12.8-1-.7-2.8-1.4-2.8-2.2-1.1-13.5-4.2-24.6-21.6-24.2-3.2 0-9.5-3.8-7.9-9.8 1.4-5 6.7-4.9 10.8-4.5 9.8.7 15.8-1.9 14.7-13.2-.4-3.9.3-8.7 5.2-8.6 5.2 0 11.2 2.8 11.2 8.2.2 11 5.2 14.3 15 13.7 6.4-.4 7.6 4.4 8.4 9.2 1 6.2-3.5 6.8-9 7.4ZM270 185.2c3.7 8.8.7 12.5-7.4 11.9-9.8-.7-14.2 3.3-13 13.3 1.1 9.4-5.1 11.2-14 12-1.5-13.8-10.7-28.7 2.6-40 8.8-7.6 21.2-3.7 31.9 2.8ZM15.8 662.3c2.6-7.6 8.2-6.6 12.8-5.5 5.9 1.4 5.2 6.7 4.7 12-7 1.7-14.4 6-17.5-6.5ZM154.2 314c-3.2 8-8.5 5.7-13.5 5-2-5.7.4-8.8 4.7-10.2 3.8-1.3 7.4-.5 8.8 5.2Z" fill="#000"/><path d="M1307 698c-9.4-38.5-16.9-77.2-25.6-115.7-6.3-27.8-14-55-22.4-82.1-9.5-30.7-19.5-61.1-33-90.5-9.6-20.7-19.4-41.1-29.5-61.5a673 673 0 0 0-57.7-92.4 470.2 470.2 0 0 0-60.5-70 342.9 342.9 0 0 0-83-57.4c-3-1.5-6.6-2.3-9.2-4.3-17-12.7-33.7-6.3-44.8 12.9-30.8 53.2-78.6 77.6-137.2 85.4a19 19 0 0 1-6.4 0c-5.6-1.2-13.6-1.2-13-9.1.7-6.9 8-4.5 12.7-5.1 43.7-5.8 84-19.6 113.4-54.3 12.4-14.8 21.6-32.4 31.3-49.3 10.2-17.9 2.4-45-23.7-50.5-11.8-2.5-19.5-6.3-16.2-21.4 2-9.6-4.8-18.9-13.2-23-10.4-5-21.7-9.1-34.5-5.6-11.7 3.3-24.2 4.1-36.3 6-7.1 1-12.2 5.8-18 9.4-4.4 2.8-4.4 6.4-2.5 11 7 17.4 1 39.8-13.9 51-14.7 11.2-30.4 20.2-50 18.4-4.9-.5-8.9 1.2-12.8 4.4-14 11.8-30.4 14.5-48.7 14.3-38.8-.4-74.2-12.6-109.2-27.3-7.8-3.3-13.6-12.5-26.5-7.5 27 34.9 67 48.4 105.6 67.6a26 26 0 0 1-24.8 3c-51.4-17.5-91.9-47.6-117.2-97-8.4-16.5-14.9-33-18.1-51-2.3-12.6-5.7-13.8-17.6-8.4-13.2 6-24.9 14.3-35.7 23.6-12.5 10.8-20 24-18.1 41.5 1 8.4 0 17 .2 25.6a47.3 47.3 0 0 0 35.2 46 37 37 0 0 1 18.4 10.8c-14.6 6.6-40.5-1.2-53-15.9C377.8 90 391.1 21 437.3-3.2l5-2.8a39.9 39.9 0 0 0-54 19A80.5 80.5 0 0 1 349 56c-15.3 7.7-19.8 28.7-7.8 39.4 23.4 20.8 43 45.8 69.9 62.6 15.4 9.6 30.1 21 46.7 28 15.8 6.5 33.6 8.4 50.6 11.8 5 1 10.2.8 13.3 5.6.3 3.4-1.7 5.6-4.4 5.5-32.1-1.5-63.4-4.4-92-23a437.5 437.5 0 0 1-69-54.1c-11-11-23.1-6.1-34 0-39 22-72.5 50.9-102.9 83.7a615.2 615.2 0 0 0-87.4 123 870.6 870.6 0 0 0-50.5 108A1198.4 1198.4 0 0 0 47 548.6a558.2 558.2 0 0 0-20.6 102.1c-1.3 15.2-7.3 29.7-7.9 46.2-5.5 1-10.8 1-17.1 1 4.6-32.9 9.9-66 16.2-98.8 3.7-19.1 9.2-37.9 13.7-56.8 5.6-23.6 13.4-46.5 21.2-69.4a831.5 831.5 0 0 1 84-179c16.9-27 36-52.4 57-76 36.7-41.1 76.3-78 126-103 6.4-3.3 9.3-7 4.1-15.1C314.4 85 317.8 54 339 44.4c16.6-7.6 26.6-22 34.3-37.8a56.1 56.1 0 0 1 51.4-33.3c19.6-.5 39.2-.7 58.8-1 9 0 14.1 1.6 10.1 12.7C491.1-8 492-.5 499 4.5a8.7 8.7 0 0 1 4 6.1c4.4 31 27.1 45.6 52.1 57.7 19.8 9.6 39.6 20.3 60.5 26.3 21.8 6.3 44.5 12.1 67.7 10.5a46 46 0 0 0 26.9-10.8c6.3-5.4 14.2-4.9 21.6-6.4 17-3.4 32.5-9.8 45-22 11.2-11.2 12-22 3.3-35.3-7.8-12-3.3-34 8.5-40.9 3.5-2 8.7-2.8 9.8 1.6 3 11.4 9.8 6.6 15.9 4.8a159 159 0 0 1 55.3-8.2A58 58 0 0 1 906 3.5c7.8 6.9 9.7 15.6 9.8 25.3 0 7.6 2.4 11.9 11 13.9 24.7 5.7 33.8 17.7 34.2 43.1 0 5.3 1.4 8.3 6.3 11 34.6 18.7 70.4 35.4 101.6 60 29.3 23 53 51.1 75.5 80.4A719.4 719.4 0 0 1 1245 414c18.2 46.5 33.7 94 46.4 142.4 12 46 16 93.5 27.1 140.6-3.2.9-6.7.9-11.4.9Z" fill="#000"/><path d="M1122.7 698c-9.3-36.4-12.3-73.8-22.2-110-7.8-28.4-14-57.4-24.2-85-7.2-19.4-14-39-23.5-57.7-12.7-25-23.3-51.2-34.7-77-1.4-3-2.8-6.3 1.4-8.8 4.4-2.7 7.6-.6 9.9 2.7 5 7.3 10.2 14.6 14.2 22.5 16 31.2 32 62.7 43 96 7.5 22.8 15.6 45.5 21.2 69 3.9 16.5 8.2 33 12 49.4 7 32.2 11.9 65 14.5 97.9-3.4 1-7 1-11.6 1ZM219 698a451 451 0 0 1 4.4-86.5c3.7-29 4.4-58.3 11-87 3.9-17 9-33.6 13-50.4 7.4-32.1 18.1-63.5 34.6-92.4 2.4-4 4.8-8 7.4-12 2.3-3.3 4.1-8.7 9.5-6.2 5.7 2.8 3.2 8.2 1.8 12.5a320 320 0 0 1-10 26c-18 40-33 81.2-40.6 124-7.3 42-15.8 84.3-14 127.6.7 14-1.6 28-2.6 43.2-4.5 1.2-9 1.2-14.4 1.2ZM629.3 367.8c-1.5-9.8 2.8-16.7 6.6-23.8 11.4-21.4 8.4-30-11.6-42.7-17.7-11.3-35.3-23-44.2-44-5.8-14-4.4-28.3-6.2-42.4-1-7.2 2.4-16 12.3-16.7 9.4-.6 20.9-3.5 25.6 8.4 3.4 8.6 2.1 17-6.2 24-15 12.8-13.9 19.7 3.7 29.1 13.8 7.4 28.5 13.3 40.5 23.9 23.8 21 26 56 4.5 79.2-6.8 7.3-7.8 15.3-6 24.6.9 4.3 2.7 10.2-3.1 12.3-5.3 2-6.5-4-9.2-7-6.3-6.8-7.1-15-6.7-24.9ZM804.3 405.5c1.2 3.4 4.6 5.2 3 8.6-20.6.3-34.9-24.4-26-44 5-11.2 13.4-20.6 15.8-33.3 3-16.5 0-25.2-15-32.3-27-12.9-39.8-33-35.3-63.4 1.4-9.3 1.4-17.6-11.8-20.7-9-2.2-11.2-12.2-9.2-21 2-8.5 8.8-13.9 17-12.5 7.6 1.2 17.4 3.4 16.7 15.3-.2 3-.4 6.1 2 8.4 11 11 8.6 24.1 6 37.1-2.2 11.1 0 20.3 9.8 26.8 6.4 4.2 12.5 8.9 19.2 12.6a49 49 0 0 1 13 78.4c-14.3 16-15.7 25.7-5.2 40ZM851 92c16.8-7 17.8-16.8 17.5-33.6 0-5-2.4-10 .8-14.8 11.1 2.3 17.6 16.3 14 29.9a48 48 0 0 1-48.7 35.4 41.9 41.9 0 0 0-31.2 13c-7.7 7-16.5 10.5-27 4.4 18.8-9.4 31.1-30.8 55.7-28.2 6.8.7 12-3.5 18.8-6Z" fill="#000"/></g><g transform="translate(266 207)"><path d="M312 312.3c15-22 35.7-36 57-49.4 28.5-18 59-31.6 90.8-42.7 22.3-7.8 45.7-12.8 67.7-21.4 26.8-10.3 54.2-20.3 73.6-43.3 18-21.2 17-33-3.6-48.8-.3-5.2 3-8 7.3-9.2 45-12.8 90.6-23.5 137.8-21.2 45.5 2.2 80.2 23.4 100.6 64.4 11.3 22.7 19.4 47.1 18 73.3a25.7 25.7 0 0 0 10.8 24c32.7 25.8 43 83.8 12.5 111.8-15.5 14.3 8.6 20.5-20.7 64.8-8.6 13-9.3 29-18.2 42.6-1.3-45.3 6-91.7-16.7-136a158.7 158.7 0 0 1-78.5 56.2 248 248 0 0 1-130.4 9.2c-30-5.6-60.7-7.9-91.2-9.7a121.5 121.5 0 0 0-95.2 33.7 81.7 81.7 0 0 0-25.2 56.7c-2 31-4.4 62-2 93 .5 7.9-.8 16.5-10.5 17.9-7.8 1-14-3-19-9.8-8.6-12-7.2-27.4-15.1-40a84.1 84.1 0 0 0-57.2-40.4c-3.6-.7-6.5 1-9.7 2.3-10.8 4.6-14.8 1.2-16.7-10.7-4.3-28.3-3.7-56.7.5-84.8 4.5-29.6 15-57.2 33.4-82.5Z" fill="#000"/></g><g transform="translate(791 871)"><path d="M188.2 86.4c-26.7 11.3-52.6 12.5-78-.5-6.5-3.2-12-2.4-18.7.7-3-9.6-3.7-18 3-25.5 2-2.1 3.9-5 7.4-3.7 3.1 1 5 4 4.2 7-2 7 3.5 7.8 7.4 9.7 26.8 13.6 52.6 8.7 78.1-4.1 4-2 4-5 3.7-8.6-.3-3.7.8-7 5.3-7.2 4.5-.2 7.6 2.4 7.9 6.7.5 7.1 0 14.3 0 22.8a22 22 0 0 0-20.3 2.7Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><path d="M76.7 82.4a205.6 205.6 0 0 0 3.3 80.2c4.7 22.4-15.2 54.4-46.8 49.7-11-1.6-17.5-8.1-21.3-17.8-1.7-4.3-1.5-8.8 3.3-11 4-1.7 7.4-.2 9.4 4 4.8 10.1 13.4 9.4 21.9 6.9 9.6-2.9 16.4-9.6 17.1-19.9.7-10.1.2-20.3-1.6-30.4a159.3 159.3 0 0 1 8.8-89.5c2.2-5.7 5.4-10.9 11.9-8.3 7.5 3 1.8 8.8.7 13.1-1.7 7.4-4.2 14.7-6.7 23Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M419.6 111c-4.2-9.5-9.9-15.2-19.8-15.7-6-.3-7-5.1-8.9-9.8 2-1.5 3.5-3.7 5.3-3.8 21.1-1.7 42.4-1.8 63.5-.1 6 .4 9.3 8 3.2 10.4-10 4-12.5 13.2-18.5 19.8-8.2 9-15.2 9.1-24.8-.8ZM228.6 81.4c12.2.7 23.1 1 34 2 3.6.3 8 1.8 8 6.7 0 5.6-4.6 5.2-8.3 5.1-6.3 0-9.7 2.7-12.5 8.6-3.4 7.4-6.9 15.3-18 14.8-10.5-.5-15.1-7.2-18.1-15.2-2.2-5.7-5-8.4-11-8.2-3.4.1-7.1-.2-7.5-4.9-.4-5 3-6 7-7.2a67.9 67.9 0 0 1 26.4-1.7Z" fill="#000"/></g><g transform="translate(610 680)"></g><g transform="translate(774 657)"><path d="M57.5 41.8C51.3 41.3 46 41 41 41c-5.7-.2-8.5-3.4-9-8.8-.5-5.3 3-7 7.5-8.5 8.6-3 17.1-.5 25.2.7 15.4 2.1 31.5-.6 46.4 6.3 5 2.3 8.3 4.7 6.4 10.3-1.8 5.2-6.1 5.2-10.6 4.1-16-3.7-32.4.9-49.4-3.3ZM251.8 32c17.2.9 33.1-5 49.3-1.2 4 1 9 .7 8.8 7 0 6.2-4.7 7.4-9.5 8-19 2.2-38 4-56.9 6.4-5.7.7-11 .1-12.6-5.6-1.7-5.7 4-7.8 8-10 3.5-2.1 7.8-3.1 12.9-4.7Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/ivy.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="m1351 688-1370-3.3s11.4-97 44.4-189.1c41.2-115.2 107.2-232 125-246.1 20.9-16.8-11.6-18.2 3.5-41.2 33.5-51.1 147-97.5 179.9-114.1 58.7-29.8 164.9-47.8 164.9-47.8l27.2 53.5s63.6 21.9 138.7 24.4C705 125.6 799 94.8 799 94.8L787.9 37s169.6 34.8 253.5 85.6c48.3 29.3 108.6 75 110 101.2 2.2 39.8 1.8 36.7 24.1 51.9 53.5 36.2 98.8 122 121.3 191.2C1314.4 521.1 1351 688 1351 688Z" fill="#fff"/><path d="m842 687-269 1s19-182.5-1.4-325c-6.2-44.2-32.6-224.4-32.6-224.4s73.7 24.7 131.4 24.7C733 163.3 798 131 798 131s24.3 69 29 182.4l15 373.6Z" fill="#000"/><path fill-rule="evenodd" clip-rule="evenodd" d="M301.5 563.4c20.5 40.6 41 81.3 56 124.6 6.6 0 12 0 17.7-1l-4.3-11a672.5 672.5 0 0 0-19.6-47.8 5876 5876 0 0 0-34.2-70.7c-9.4-19.2-18.8-38.3-28-57.5-3.8-8-6-16.9-1.3-25.8 6.7-12.8 12.6-26 18.4-39.2l5.2-11.8c11-24.4 24.5-47.6 38-70.9 10.6-18.1 21.2-36.3 30.6-55 8-16.3 5.6-24.5-12-30a48.4 48.4 0 0 0-10.5-2.3c-8.6-.7-17.2-1.2-25.9-1.7-26.4-1.5-52.9-3-78.6-10.8-8-2.4-16.3-3.7-24.6-5-8-1.3-16-2.6-23.8-4.9l-4.6-1.3c-14.8-4.2-30-8.6-41.4-20.3l1.7-2.4c1-1.3 1.8-2.5 2.8-3.5 25.5-28.7 59-47 92.3-65.1l20-11a963.1 963.1 0 0 1 62.6-31.4c7.9-3.7 15.8-7.4 23.7-11.3A394 394 0 0 1 423 71.5c10.6-3.1 21.4-5.6 32.2-8 7.8-1.9 15.6-3.7 23.3-5.7 20.1-5.3 23.8-4 29 15.7l9.1 34.2a2051 2051 0 0 1 26.8 106.6c8.7 40.7 14.4 82 17.2 123.5a1480 1480 0 0 0 6.8 70.7c3.7 32.2 7.3 64.3 8 96.7.5 20.8-.1 41.6-.8 62.4l-.8 29c-.3 13.5-1.8 26.9-3.3 40.2-2 17-4 34-3.3 51.2 6.7 0 12.2 0 17.8-1.2l.6-16.2c.2-10.2.5-20 1.6-29.6 5.7-51 4.8-102 3.7-153-.7-33.6-3.6-67-8.4-100.2a605.8 605.8 0 0 1-4.6-52.8c-1.3-23-2.6-46.1-7.3-69a1627 1627 0 0 1-6.7-34.2 906 906 0 0 0-13-61.8c-.2-1-.6-2-1-3-1.2-3-2.5-6 .6-8.9 4-3.8 9.1-2.7 14-1.4A373 373 0 0 0 690 167.3c31.6-2.4 62.8-5.8 91.8-19.5 8.7-4 15.5-1.5 17.4 9 1 5.6 1.7 11.2 2.4 16.9 1 7.9 2.1 15.8 3.8 23.4 7.8 34.8 10 70 12 105.2 1 16.1 2 32.2 3.5 48.3 1.1 12 2 24.2 2.8 36.3 1 14.6 2 29.1 3.6 43.7 6.3 60.7 4.7 121.5 2.7 182.3l-.7 20c-.7 18.4-1.4 36.7-1.4 55 5.8 0 10.4 0 15.4-1l.8-5.3c1-6.5 2-12.5 2-18.4l.3-44.7c.1-28 .3-56.2 1.6-84.2 1.7-37 .6-74-3.2-111-2.7-26.2-4.5-52.4-6.3-78.7-1.7-24.1-3.4-48.3-5.7-72.4-4.5-46-10.5-92-20.5-137.3a2499.2 2499.2 0 0 1-13.8-68.7c-.5-2.4-.4-5-.4-7.4v-4c-.3-6.4 2.7-8.5 9.1-7.2a642.2 642.2 0 0 1 79.2 18.8c21 6.9 41.7 15 62.3 23 7.3 3 14.7 5.8 22 8.6a446.7 446.7 0 0 1 141 84.8c13 11.7 24.1 25.1 31.8 40.6 4.5 9.3-.3 19.2-9.6 21l-9.2 1.9c-22.7 4.4-45.4 9-67.6 15.7a251.6 251.6 0 0 0-92.9 50.8c-7.6 6.6-8.7 14.7-4.5 23.2 4 8 8.4 16 13.2 23.6 5.8 9.2 11.7 18.4 17.7 27.5a705.7 705.7 0 0 1 42 70c3.2 6.5 4 13-.3 18-9.4 10.8-16.8 22.9-24.3 35a360.3 360.3 0 0 1-16.9 25.7 486 486 0 0 0-53.6 90.3c-3.6 7.9-6.6 16-9.7 24.2-4.8 13-9.7 25.8-16.5 37.7 7.5 0 14 0 20.6-1 10.7-33 23.5-64.2 41.5-93 23-37.1 47.5-73.3 72.3-109.3 6.3-9 9.7-18.8 3.8-31a589 589 0 0 0-27-48.5l-.4-.7c-13.9-23-28.7-45.6-43.7-68-4.7-7.2-2.2-12 3-16.8a158.1 158.1 0 0 1 41.7-26.7 355.4 355.4 0 0 1 102.9-29.7c12.8-1.7 22.3.7 32 7.6 34.6 24.3 64.6 51 82.6 90.3l8.7 18.7c12.8 27.6 25.6 55.2 35.5 84a1107 1107 0 0 1 41 147.4c5.8 25.6 11.6 51.2 18.2 76.7 4.9 0 8.6 0 12-1-5.3-21.6-9-43.3-12.8-65-4.7-27-9.4-54-17-80.4l-1.4-5.3c-6.6-23.2-13.2-46.4-21.1-69a882 882 0 0 0-52-121.3c-18.2-34.7-45.8-61.4-77.7-84.9-1.4-1-3.2-1.9-5-2.8-6-3.1-12.7-6.5-9.7-16.8 5.2-17.6 1.8-33.7-13.7-46.3a86.8 86.8 0 0 1-9.6-9.7l-3-3.3c-41.4-45.3-95.8-72.5-151.8-97-36.4-15.9-74.5-28.1-112.6-40-23.7-7.3-48-13.2-73-15-12.7-1-18 4.8-16.5 16.8.4 3 .8 6 1 9 .8 6.7 1.5 13.5 3.1 20 2.8 11.2-3.2 17.2-12 21.2-22 9.8-45.4 17.3-69.4 18.8-52.8 3.3-105.4.7-156-16.9-8.5-3-13.3-7.4-16.9-14.7-2.5-5-4.7-10.2-6.8-15.3a224 224 0 0 0-11-23c-5.4-9.6-11.8-11.8-21.6-8.6-6.4 2-12.8 3.7-19.3 5C434.6 50.4 399.3 59 366.5 75c-46 22.4-91.7 45.1-136 70.3-30.3 17.2-60 34.8-82.7 61.3-6.2 7.3-7.5 14.5-2.5 22.2 4.2 6.5 3.9 11.5-2 17a139.2 139.2 0 0 0-22.8 30c-1.8 2.8-3.5 5.7-5.4 8.5-21 32-39.7 65.2-56 99.5A873.4 873.4 0 0 0 26.7 463l-1 2.8c-7.9 22-15.7 43.9-21.3 66.5a925 925 0 0 1-5.6 21.5 563.4 563.4 0 0 0-8.8 35.3c-6.6 32.9-12.2 66-17 98.9 6.7 0 12.1 0 18-1l8-46c2-12.3 4-24.5 6.2-36.6 11-63 32.6-123 57-182a838.3 838.3 0 0 1 91-160.9c4-5.6 9-7.2 15.7-7.8 16.4-1.5 31.6 2.9 46.8 7.2 7.8 2.3 15.6 4.5 23.5 6l15.7 2.8c27 5 54 10 81.8 11.4 2.9.2 5.8.2 8.7.2 8.1 0 16.5 0 25.3 3l-8.4 13.6-23.8 38.6a729.7 729.7 0 0 0-50 95.6 948.5 948.5 0 0 1-18.2 39.1c-3.8 7.6-4.9 14.6-1.7 22l1.3 3c6 14 11.9 27.8 18.6 41.4l13 25.8Zm476.8-452c4.8-2.6 10.3-5.4 11.2 3.7 1.8 10.6-5.4 14.2-11.5 17.3l-1.8 1c-17.5 9.2-37 14-56.8 16.2a437 437 0 0 1-145.1-5.8c-9.6-2.2-18.8-5.6-27.4-10-5.6-2.7-8.1-6.8-6.8-12.5 1.5-6 5.5-5 9.5-4l2.4.6 19.4 3.8c16.5 3.3 33.1 6.6 49.9 9a293 293 0 0 0 103.8-2.9l1-.1c18-3.8 35.8-7.5 52.2-16.2Z" fill="#000"/><path d="M199 688c3-35 7-69.8 11.4-104.7 3.6-29.7 4-60 17.4-88 1-2.4 2.3-4.6 3.8-6.7 2.3-3.1 5-6.8 9.7-5.2 5.3 1.7 3.6 6.4 2.7 9.9-8 32.1-13.3 64.8-17.7 97.5-4.1 31.5-6.2 63.3-9.4 96-5.8 1.2-11.2 1.2-18 1.2ZM1149.9 688c-9.8-36.3-12.8-73.7-23.3-109.7-6.2-21-9.8-42.8-17.9-63.4-1.6-4.2-.5-9 4-11.2 4.4-2.3 7.4 1.3 9.9 4.3a55.4 55.4 0 0 1 9.9 22.1c11.5 43.4 20.8 87.4 27.6 131.7 1.2 8 1.2 16 1.9 25.2-3.5 1-7.3 1-12.1 1Z" fill="#000"/><path fill-rule="evenodd" clip-rule="evenodd" d="M797.4 536.7c2.5 2.7 5 5.4 6.9 8.6 2 4 2.8 10-1 13.3-2.5 1-5 0-7.2-1l-.7-.3a96 96 0 0 1-12.4-7 586 586 0 0 1-52.4-40.1 1501.4 1501.4 0 0 1-53-46.5c-10.3-9.3-20.6-18.7-30.8-28.2a281.8 281.8 0 0 1-14.7-15 30.6 30.6 0 0 1-6-8.4c-6.4-17.8 7.6-21.9 22.8-24.4 10.9-1.8 22-3 33-4.2h.8a57.7 57.7 0 0 0 13.7-2.8c1-.4 1-.5 1.3-1v-.3a68.3 68.3 0 0 0-9.4-18 610 610 0 0 0-44.6-55.6 7452 7452 0 0 0-19.3-22l-2-2.3c-4.7-5.2-9.4-10.4-6.5-17.8 1.4-4.6 5.8-2.4 8.7-.6a163 163 0 0 1 11.2 7.2h.1a971.7 971.7 0 0 1 37.6 27.2 589.2 589.2 0 0 1 74.4 64 592.2 592.2 0 0 1 24.6 21.4c2.9 2.7 5.7 5.3 7.7 8.6 3.5 5.7 2 13-4 16.5a71.5 71.5 0 0 1-24.3 6.5c-8.8 1.2-17.8 2-26.7 2.7l-8.5.7c-8.3.7-16.9 1.5-22.6 3.5-.8.3-1.6.7-2.3 1.2 1.4 2.6 2.1 3.6 3.4 5.3l2.5 3.4c11 14.4 23.7 27.5 36.3 40.6A7081.6 7081.6 0 0 1 751 489c10.9 11 21.8 22 32.6 33.2l1.5 1.6 11 11.4 1.4 1.4Zm-116.6-85.3 8 7.2c15.7 14.2 31.7 28.2 48 41.8a575.5 575.5 0 0 0 44.2 34.1l-24-24.3c-14.5-14.7-29-29.4-43.3-44.5-6.8-7.3-13.3-15-19.4-22.9-.6-1-1.3-1.8-2-2.7-2.2-3.2-4.6-6.5-6-10.1-2.8-6.7-2.8-17.4 5.7-20.2a64.4 64.4 0 0 1 16.8-2.6l15.8-1.3 14-1.1 2-.2c11-1 27-2.6 34.1-7.2-5-5.7-14-13.4-22.3-20.6l-10.6-9.3a3562 3562 0 0 1-27.4-24.7c-8.3-5.8-16.5-11.8-24.6-18a1554.7 1554.7 0 0 0-44-32.8c9.5 10.9 19 21.9 28.1 33.2l3.9 5c11 14 26.3 33.5 27.3 49.1.2 5.8-1.4 12.3-7.3 15.1-4.8 1.9-10 2.4-15 2.9l-5.3.6a488 488 0 0 0-32.7 4.5c-4 .7-7.2 1.4-11.2 3.7 7 8.7 30.7 30.3 47.2 45.3Z" fill="#fff"/></g><g transform="translate(266 207)"><path d="M487.3 374c4 2.2 10 3.6 6.7 9-3 4.7-10.5.3-13.3-1.6-5.6-3.6-15.6-8.6-30.5-17.5-4.5-2.7-16.8 5 27.1 27.1 4.1 2.1 19.1 18.1-11.7 7-31-11-39-15.9-41.3-12.7-5.8 8.2 2.2 13.4 28.8 34 4 3 8.5 5.6 12.7 8.4 3.4 2.3 6.5 5.4 3.6 9.4-3.1 4.5-6.8 1.1-10-.8-33-19.3-43-23.2-49.2-24.2-4.4-.6-45.5-7.4 30.4 37 5.6 3.2 14.6 5 10.8 16.1-16.8-2.7-30.8-11.5-45.1-19.3-9.3-5-17.8-11.5-26.7-17.2-3.3-2.1 6 3.6 1.2 8.3-3.5 3.5 6.4 13.6 15.6 19.3 11.5 7 23.7 13.2 35.6 19.8 3.8 2 8.7 4.3 6.7 9.3-2.4 6-7.3 2.4-10.8.6-14-7.2-27.9-14.4-41.3-22.3-7.7-4.5-1.6 34.9 37.3 41.2a5.8 5.8 0 0 1 4.6 6.8c-.9 4.3-4.7 4.5-8.2 3.5-5.7-1.6-11.5-2.9-16.6-6.3-8.6-5.8-14.3-2.3-18 6.5-4.4 10.8-2.7 21.7-.7 32.6 1 5.4 2.8 10.7-.9 15.6-3.9 1-5-1.8-5.7-4-10.3-33.1-32.2-58-55.8-82-17.4-18-18.4-40.8-18.4-64.3 0-22.3 8.3-42.5 13.4-63.4 6.8-27.9 15.5-55 16.3-84.4a76.4 76.4 0 0 1 22.6-51.5c33.7-34.4 70.1-65.8 115.3-83.8 33-13.2 67.5-22.3 103.7-23.8 44-1.9 86.4 4.4 126.2 22.4 25.4 11.5 48.7 27.1 65 51 10.6 15.4 28.4 21 43.6 29.7C851.8 233 889 261.3 915 302c17.3 27.2 21.4 56.2 6.8 85.6-11.6 23.2-34.2 27.1-57.4 28.4-50.3 3-96.6-10-139-36.6-14.9-9.2-29.3-3.2-44.1-2.6-34.4 1.3-69.2 7.3-103.1.4-93.3-19.2-100.8-9-91-3.3Z" fill="#000"/></g><g transform="translate(791 871)"><path d="M99.3 109c-12.6 6.6-16.2-1.7-20-10.4-3.3-7.8-.8-18.1-13.5-21.8-6-1.7-.7-10.5 2.2-15.4 2.4-4.2 6.9-6.4 10.6-2.4 15.8 17.4 37.8 16.7 58 20C160 82.8 182 73.9 204 67.6c4.4-1.2 9.2-5.2 13-1 4 4.6 4.9 11.2 2 16.7a51.8 51.8 0 0 1-19.5 22.8c-4 2.4-8 4-11.6.1-6.4-6.7-11.1-5.7-18 .4-12 10.6-19.3 9.1-31.1-3.6-4-1.1-4.8 2.7-7 4.4-7.6 5.7-15.7 7.9-22.5-.3-4.8-5.7-6.7-2.7-9.9 1.9Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><path d="M74.2 188c5.5-3.8 9.7-9.4 11.8-15.9a23 23 0 0 0-4.4-22.8c-5.3-6-12.4-3.7-19-1.7-4.2 1.3-9.5 5.3-12.2-1.2-2.4-5.6 1.8-10 6-12.7a28 28 0 0 1 26.8-2.8c11.9 4.7 16.4 14.5 18.1 25.8 6.7 44.3-31 54.4-60.7 52.5-2.1-.2-4.2-1-6-2.2-3.3-2.2-8.6-3.8-7.1-9.1 1.6-6 6.7-5 11.6-4 12 2.3 23.5.2 35-5.8Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M409.2 75.7c13.1.3 25.4 1 37.7 2.5 3 .3 4.9 3.3 5 6.6 0 3.4-1.8 5.7-4.8 7-11.1 4.9-22 8.3-33.7.2-6.5-4.4-8.9-8.6-4.2-16.3ZM254.7 78.4c6.2 3.3 5.2 7 2.1 10.8-6.5 8-28.2 10-36.4 3.5-4.7-3.8-7.3-8.6-4.4-14.4 3-6 8.2-5 13-2.5 8 4 16.4 3 25.7 2.6Z" fill="#000"/></g><g transform="translate(610 680)"></g><g transform="translate(774 657)"><path d="M131.2 43.2c-5.6 16.8-6.6 15.4-23 11.6-26.2-6-52.7-19.2-80.3-4.3-2 1.1-5 1-7.6.8-3.6-.2-8.2 1.3-10.1-3.3-2.1-5 1.5-8.3 5.3-10.3C35.2 27.7 53 13.4 77.9 16c12.8 1.3 26-2.8 39.3-2.4 18.8.7 22.4 5.7 16 23.9l-2 5.8ZM298.7 21.8c9.6 6.6 12.5 16.8 18.3 25a7 7 0 0 1-.6 9.4c-2.4 2.7-5.4 2.8-8.1 1.2-19.1-11-38.9-6.4-58-1.2-10.2 2.7-14.6-.8-17.2-9.2-1.7-5.7-2.9-11.5-3.6-17.4-1.3-9.8 6.9-11.9 13-12.2 18.5-.9 37.4-4.5 56.2 4.4Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/jade.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="M1314.4 694.4 10.7 691.1S44 481.4 106.9 362.2c73-138.7 176.8-250.5 390.4-316.9C516 39.5 669.8 114 669.8 114l108.7-70s175 48.2 241.2 85.5c84.2 47.3 179.3 187 223.1 296 46.6 115.8 71.6 269 71.6 269Z" fill="#fff"/><path d="M898.5 694.4c-13-1.7-13.5-12.7-17-20.7-4.4-10.4-9.8-13.3-18.7-5-6.5 5.9-10.2 4.1-14.6-3.3-5.3-9-14-16.3-3.7-27.8 3.9-4.2 0-9-5.4-10.3-5.5-1.4-7.4-5.4-8.1-10.1-1-6 4.6-6 8-8.2 9-6.1 16.2-13.9 18.6-25 .8-3.6 1.8-7.7 5.6-7.2 13.2 1.8 21.6-7.9 32.4-12.3 5 1.7 6.3 6.4 8 10.6 2.6 6.2 5.3 12 13.9 9.6a5.7 5.7 0 0 1 7.1 4c1.8 5.6 4 10 10.7 11 2.7.5 4.1 3.4 3.3 6-1.7 5.8.9 8.8 5.7 11a4.4 4.4 0 0 1 2 6.5c-8.5 12-5.3 24 .3 37.5-16.8 4.4-28.3 13.8-29 32.9-5.8.8-11.9.8-19 .8ZM578 685.5c-10.9 6-17.8-4-27-5.2-10.4-1.4-13 1.5-13.3 10.5-.2 5 .6 11-6.6 11.8-13.3 1.6-27.4-3.7-27.9-11-.6-9.7-3.7-12.8-12.6-7.6a12 12 0 0 1-14.3-1.2c-4.3-3.6-.2-7.8.8-11.7 2.5-11-.1-21.4-5.5-31-1.8-3-4.8-6.8-1.6-8.6 11.5-6.5 8-17.2 8.6-26.7.6-9.2 5.8-7.7 11.5-5.8 7.6 2.5 13.6 5 21.5-2.8 5.6-5.5 18-4.6 26.2-1.8 6 2.2 11 5 17.8 1.5 4.4 14.2 11 24 26 25.9 6 .7 5.5 6 2.6 9.8-8 10-1.5 21-2.4 31.4-.4 4.4 5.7 4 9.8 5.8a185 185 0 0 1-13.5 16.7ZM137.7 703c-11.8-5-8.6-17.9-15.8-25.6-5.7-6.1-8.7-6.8-14.2-2.6-8.5 6.5-14.6 8.6-20.2-4.2-4-9-13.3-15.4-3.5-26.4 2.8-3.2-2-6.6-5.6-8.4-5.3-2.7-8.8-6.6-8.1-15 15 2.4 17-13.7 27.3-19.3 3-1.6 2.6-5 2.5-8-.2-5 3.6-8.3 7-6.6 11.1 5.3 15.8-3.1 22-8.8 9.6-9 12.2-8.3 15 4.5 1.5 6.8 3.1 12.6 12.1 11 1.9-.4 4.8.1 5.9 1.4 8.4 10.3 18.9 18.8 25.4 30.6 1.2 2 2 4.5.5 6-12 12-8 24 1 37-17.5 5.1-34.5 10-32.3 33.5-5.8.8-11.8.8-19 .8ZM1249.2 694.4c-15.3-1.7-12.1-16.3-17.8-24.2-6.8-9.4-11-8.8-17.9-3-7.2 6.2-12.8 9.5-15.4-3.7-.6-3-3.8-5.6-6-8.3-3.7-4.9-5.1-9.1.6-14.3 6.7-6 4.8-11.5-3.7-14-6-1.7-10.2-5.2-10-11.4.1-6 6-4.6 9.8-5.4 3.7-.7 6.8-3 7.2-6.4 1-7.2 6-9.7 12.5-11.2-2.1-11-.4-17.6 12.8-13.2 8.5 2.9 10.8-6.7 16-10.2 10.1-6.6 13.3-6.6 16.2 5.3 1.9 7.8 4.1 12.8 13.5 10.7 4.4-1 5.5 3 6.5 6.3 1 3.4 2.2 6.8 6.3 7.2 13 1 9.3 7.4 4.5 13.7 2.7 5.5 9.2 2.9 12.7 7.8-10.6 12.2-10.1 25.5-1 38-1.5 5.2-5.3 5.6-8.5 5.4-15-.6-14.8 16.2-24.7 21.6-2 1 1.3 5.3 2.9 8.6-5.5.6-11 .9-16.5.7ZM929.3 143.3c-8.8-6-16.5-11.5-17.4-22.6-.5-5.6-4.3-9.8-10.4-11.6 8.4-10.4 9-33.3 9-33.3s-3 8.6 73.4 31.2c-8.3 20.7.6 30.5-19 44.3-9.2-9.3-23-3.5-35.6-8ZM906.1 343.5c-18.4 3.2-22-11.2-26.2-21.9-4.1-10.4-8.5-7.9-15.2-4.3-4.3 2.2-7.4 10.2-13.9 3.9-8.1-8-12.6-23.7-7.6-29.2 6-6.6 4.3-10.5-2.9-13.5-5.5-2.4-9.6-6-9.6-12.2-.1-7.4 7-5.9 11-8.3 7.6-4.6 9.6-13.5 14.6-20.1.5-.6.3-1.7.7-2.5 1.8-4.3 38.3-22.4 40-19.5a63.6 63.6 0 0 0 26.8 24.7c4.2 2.1 8.7 9.5 14.7 11.3 2.8 5.8-3.5 8.2-3.2 12 3 4 8.8 2.3 11.4 7.5-7.2 10-6 21-1.4 32 2.4 5.4 1.5 9.2-4.2 11a36.9 36.9 0 0 0-25.8 25.7c-1.3 4.1-4.6 4.5-9.2 3.4ZM586.7 251.6c2.3 7.1.4 15.3 10.8 18-8.2 11.5-7.7 22.6-1.7 33.9 2.7 5.2 1.3 8.8-4.9 10.4-14.4 3.6-26 9.8-27.4 27.1-.3 4.3-4.8 4.1-7.7.8-1.8-2.1-.8-6-4.6-7.6-2 3.6-1.2 10-7.9 9.2-6-.7-5.1-5.3-6-9.6-1.4-8-9-13-10.1-21.1-7.6-.7-11 5.2-16 8-5.4 3.2-9.1 3.6-11.8-3.3-3.9-9.7-16-17.8-4-30.2 3.7-3.8-2.2-7.3-6-9.1-5.4-2.7-9.3-6.7-9.3-12.7 0-6.6 8-4.4 10.2-7.3 6.3-8 18-10.9 19.8-23.7 1.6-11 10.2-1.7 16-2.7 2.5-3.3 4.7-7.5 8-10.4 10.4-9.1 14.6-8 20.2 4.6.8 2 1.8 5.4 2.8 5.5 13.9.5 18.2 14.8 29.6 20.2ZM143.3 295.1c2.7-5.3 5.8-9.6 7-14.4 4.4-20 13-37.3 32.2-46.3 8.7-4 6.9-15.5 15.2-18.7 5.5 2.4 4.5 7.4 6 11.1 1 2.8 1.6 7.9 4 7.3 14.6-3.4 16.6 12.7 26.6 16.7 8 3.3 5.4 15.7 15 19.8-13.8 12.6-10.7 25.3-.6 39.4-17.8 5.8-34.9 12-36.2 33.5-6.3-.4-5.8-7-13.5-9-2-.6-2 7.2-8 6.8-3.6-9.9-8.3-19.3-14-28-9.4-.4-14.8 8.3-24 9.7-4-8.7-12-16-9.7-27.9ZM1062.8 243.9c-1.2-6.5-6.1-7.5-10.4-9.3-4.6-2-5.8-6-6-10.3-.3-4.5 3.7-5.2 7-6 11-3.1 14-14.2 19.2-22 6.5-9.8 23.7-15.8 31.1-6.7 20.1 24.6 41 48.7 57.5 76 .4.7.2 1.7.5 4.3-19 1.9-28.3 15.2-33.6 34-6.5-7.7-12.5-11.2-21-4.7-1.4-10.1-9.3-15-12.1-22.9-2.7-7.5-7.2-5.7-12-3-15.8 9-16 9-24.4-7.7-1.7-3.4-3.2-6.8-4.5-9.7 1.4-5.6 8.5-5.5 8.7-12ZM357.9 422.2c2.8-.5 5.2-.6 6.6-1.9 11.6-9.9 22.7-6.4 26.4 8.8 1 4.2 2.8 6 6.8 6s7.6 1 9.9 6.1c-9 8.1-2 20.3-6.2 29.8-4.1 9.3-11 17.4-17.7 27.5-8.6-10.8-20.9-6.7-31.5-9.2-12-2.8-19.3-8.3-22.6-19.8-.4-1.2-.4-2.8-1.2-3.6-12.1-10.7-6-22.3-2.5-34.2 5-17 12.5-20.4 27.5-11.1 1.4.7 3 1.2 4.5 1.6ZM1101.3 466.4c-.9 13.8-15.8 18.3-16 34.4-10.6-11.1-21.4-10.2-31.7-10.8-12.8-.7-20.4-7.2-22.8-19.3-1.5-7.5-6.2-11.7-12.8-15.4 3.8-9.5 6.4-19.4 7.7-29.5.9-6.5 17.8-13.4 22.3-8.6 10.3 11.2 17 8.4 22.5-5 8.8 4.9 18.7 6 21.6 18 1.6 6.4 13.8 1.8 15.8 11.7-12.6 4.7-4.5 15.4-6.6 24.5ZM699.8 420.5c11.8 9.1 16-2.6 23-7.7 7 5.8 18.6 5.2 20 18.5.8 6.3 13.1.6 15.2 10.3-6.6 4.4-7.8 10.6-6 19.5 3.1 15.9-13.4 23-17.4 38.2-12.8-13-28.5-5.7-41.7-12.2-14.2-7-9.6-27-26.3-31.3 6.6-10.4 9-20.7 10.2-31.6 1-8 14.5-10.1 23-3.7ZM394.5 130.3c-4.2 5.8-5.3 12.5-11.3 17.8-8.8-11.7-22.3-5-33.5-8.8-5.9-1.9-10.9-5-15.6-8.1-6.8-4.5-5.9-18.2 1.3-23 14.3-9.5 27-21.4 45.4-23.8 10.8-1.4 18.8 4 31.5 4.1-9 9.7-8.5 18.3-9 26.5-.4 6.4-2.4 11.5-8.8 15.3Z" fill="#000"/><path fill-rule="evenodd" clip-rule="evenodd" d="M1290.7 617.2a2582 2582 0 0 0 17.3 77.2c4.7 0 8.2 0 11.4-.9a482.5 482.5 0 0 1-11.7-60.7c-2-13-4-26.1-6.6-39-6.2-30.4-13.2-60.5-22-90-10-33.6-21.5-66.9-35.3-99.3a743.8 743.8 0 0 0-48.2-97.7 685.2 685.2 0 0 0-64.4-91.1v-.2c-20.5-23.6-40.8-47-66.5-65.8-12.5-9.1-25.9-16.7-39.2-24.2-9-5.1-18.1-10.2-26.9-15.8-27.4-17.6-57.8-27-88.2-36.2-14.4-4.4-28.8-8.9-43-14.2a192.7 192.7 0 0 0-31.6-8c-18.4-3.5-37-7-53.2-19.4-2 8.4-7.7 9.7-13.5 11-3.1.7-6.2 1.4-8.8 3.2a1810.6 1810.6 0 0 1-54.4 36 3387.4 3387.4 0 0 0-30.4 20c-2.2 1.4-4.1 2.8-6.7 1.3-10.3-6-21.5-10.1-32.7-14.2-5.9-2.1-11.7-4.2-17.5-6.7l-17-6.9c-13.5-5.4-27.1-11-40-17.5-7-3.5-14.2-6-21.5-8.3-12.4-4-24.8-8.1-34.9-17.5-3.5-3.4-9.7-3.3-13.5 2-5.7 8.3-14.6 11.2-23.6 14.2l-15.8 5A426.6 426.6 0 0 0 410.4 68a1350.1 1350.1 0 0 0-82.1 39 403.3 403.3 0 0 0-88.4 61 601.8 601.8 0 0 0-102.2 122.5A768.3 768.3 0 0 0 84.5 390a897.7 897.7 0 0 0-32 82.8 714 714 0 0 0-20 65.8C30.7 545.8 29 553 27 560c-3 11.9-6 23.7-8.4 35.6-6.3 32.9-11.6 66-16.2 99 6.3 0 11.6 0 17.1-1.1 1-18.1 4.4-35.3 7.7-52.2l2.5-13a785.6 785.6 0 0 1 25.4-106.1l4-12C71.9 472 84.5 434 101.5 397.4c22.8-49.3 49-96.5 81.7-140.2a540.3 540.3 0 0 1 79.7-86.4c27.7-23.9 59-41.7 91.8-58.2 11.5-5.8 23.3-11 35-16.3A604.5 604.5 0 0 0 435 74.7c9.6-5.3 15.4-5 19.7 7.3a218.6 218.6 0 0 0 40.4 68.5 249 249 0 0 0 140.7 85.6c56 12 105.3-.3 146-40.4 22.1-21.6 43.2-44.9 54.9-74.4 4.5-11.5 8.6-23.3 12.7-35.3l6-17 34 10.8c10.7 3.5 21.5 7 32.4 10.3 45.7 14 86.6 38.4 125.6 65.4 43.3 30 75.4 71.4 105.2 114.2a769.7 769.7 0 0 1 56.5 97.6 766.7 766.7 0 0 1 42.5 102.7c11.7 35.3 22.3 71 30.5 107.6l8.6 39.6ZM615 98.2c8.3 3.9 16.7 7.8 26 9l4.5 2.2a52 52 0 0 0 17 6.2c-3 4.3-6 8.3-9 12.2-6.4 8.1-12.4 16-16 25.4l-2.3 5.9c-2.2 5.5-4.4 11-5.2 17-1.1 9.1-5.9 11.4-15.2 9.6a127 127 0 0 1-42.5-19.3c-10.1-6.3-20-12.9-30-19.4-13.3-8.8-26.7-17.6-40.5-25.8-17.4-10.5-25.2-27.1-32.4-44.3-3.1-7.6 3.4-12.6 9-16.4 10-7 21.4-7.2 32.9-4.2 19.4 5 37.5 13.2 55.7 21.4 11.6 5.2 23.1 10.4 35 14.8 4.4 1.6 8.7 3.6 13 5.6Zm130.6 92.4c-3.2 5-6.6 10-13.7 8-5.9-1.4-7.3-6.5-8.7-11.5l-.7-2.4a130 130 0 0 0-43.4-64c-22.6 17.1-30.8 41.4-37 66.8 0 .7-.3 1.4-.4 2.1-1.4 6.4-2.8 12.7-12 12-22.1-2-43.4-6.8-62-20.6-13.8-10.3-27.9-20.2-42-30a4158 4158 0 0 1-18.5-13c2 8 6.4 15.1 12.5 20.7a281.2 281.2 0 0 0 73.4 49.3 180 180 0 0 0 110.5 13.2c37.7-6.6 67.1-28.5 90.5-58.3l3.8-4.7c6.6-7.9 13.5-16.2 15-29.5-4.2 4.2-8.1 8.5-12 12.7-10.2 11.2-19.6 21.5-32.3 28.2a60.7 60.7 0 0 0-22 19.5l-1 1.5Zm83.8-93.5a18 18 0 0 1-7.1 8.8c-27 25.5-56 49-86.5 70.3a145.5 145.5 0 0 0-46.4-65L711 97c21.5-14 42.7-27.8 63.7-41.8 4-2.7 6.2-1 8.8.9l1.1.8a45 45 0 0 0 27.3 9.3c20.8-1 26.7 10.8 17.4 31Z" fill="#000"/><path d="M217.5 694.4c1.2-22.7 3.4-45.5 5.8-68.3 2.7-26.1 5.4-52.2 9.6-78.3 4-24.3 8.7-48.4 14.2-72.3 9-39.3 22.1-77.4 44.7-111.5 3-4.6 6-9 12-4.9 5.3 3.6 2.4 7.4.6 12.1-9.5 24-18.4 48-27.3 72.2A637.5 637.5 0 0 0 249.8 553c-5.9 33.8-8.2 68.2-12 102.3-1.3 12.3-2 24.6-3.2 38-5.5 1.1-10.7 1.1-17 1.1ZM1123.7 694.4c-9.2-36.8-12.3-74.6-22.4-111-7.7-28.1-14-56.8-24-84-7.1-19.3-14-39-23.4-57.6-12.7-25-23.3-51.2-34.6-77-1.3-2.9-3-6.3 1.2-8.9 4.5-2.6 7.5-.4 10 2.7 3.8 5 7.8 10.2 10.6 15.9 10 20.4 19.6 41 29.5 61.6a603.2 603.2 0 0 1 34.2 95.5 618.8 618.8 0 0 1 21.7 96.5c2.7 21.4 7.2 42.7 8.8 65.3-3.4 1-7 1-11.6 1ZM612.5 167c-8.2 2-11.1-2.7-12.5-8.4-1.5-6.2.8-11.7 6-15.5 3.3-2.4 7-2.4 10.9-.6 4.8 2.3 4.6 6.6 4.7 10.8.3 6.3-3.1 10.3-9 13.7ZM758.4 135.5c1.7 5.9 3 11.4-1.7 14.9-4.2 3-9.7 6.7-14.8 2-5.5-4.8-3.8-11.3-.2-16 4.2-5.4 10-8 16.7-1Z" fill="#000"/></g><g transform="translate(266 207)"><path d="M487.2 278c27.1-13.3 48.2-33.2 69-53.1 20.2-19.1 37.6-41.3 61.5-56.2 28.8-18 61.3-29.3 95.1-33 16.6-2 33-1.2 49.6-.6 46.6 1.5 93.1 48.7 88.6 96.8-1 11.3-.4 22.8-5 35.3 10.5-1.8 20-2.3 28.6-5.2 26.2-8.8 53.4-7.5 79.9-5.3a87.7 87.7 0 0 1 62.2 36.4c20 26.4 32.3 55.1 18.4 89a97 97 0 0 1-41.6 49.6c-12.5 7-20.5 14-22.4 29.6-5.2 41.5-50.2 69.6-90.6 57.2a87.3 87.3 0 0 0-35-4.5 104 104 0 0 1-73.3-20.6c-22.7-16.7-47-22.7-73.2-24.8-29.9-2.4-58-13-87.5-16.8-27.4-3.6-54.2-10.4-81.5-14-16.2-2.3-29 7.6-40.6 17.9-33 29.2-53.8 66-66.2 108-6 20.4-18.6 36-37.2 46.7-6.9 4-10.6.8-10.1-5.3 1.7-23.2-5.8-44.7-10.8-66.6-4.7-20.2-12-39.8-26.3-55.8-12.9-14.5-31.5-18.2-42.9 6.3-15.8 34-16.2 69.6-11.9 106 2.4 20.3 7.5 39.1 19 56a69.8 69.8 0 0 0 21.5 19.5c11 6.8 30.4-2.4 38.8-17.8 2.5-4.7 3.3-11 11-11.5 10 69.2 22.2 138 35.2 206.6.5 2.6-1.3 5-5.3 5.8-6.4-4.4-7.2-12.8-9.3-19.4a44 44 0 0 0-12.4-18.8c-26.7-26.1-58.4-46.4-85-72.7-32-31.7-47.2-69.7-43-115 3.6-37.7 6.7-75.4 6.8-113.3.3-49 11-95.3 40.4-135.6 27-37 61.4-62.5 108.1-69.6 19.8-3 37.8-12.5 56-20.6 7-3 13.8-6.6 21.4-10.5Z" fill="#000"/></g><g transform="translate(791 871)"><path d="M203 92.2c5.7-4 7-10.6 8.7-16.5 2-7-1.7-13-8.8-12-8.2 1-16.6 1.4-24.6 5a65 65 0 0 1-54 1.2c-8.1-3.7-16.7-6-25.5-7.1C86 61.3 80.5 67 81 79.5c.4 10.9 10.2 19.6 23.5 20.1 32 1.3 63.1-12.1 95.4-6 .4.1.8-.3 3-1.4Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M123.6 54.3c-10-5.3-20.7-10.8-34-7.2C68.1 55.6 62.4 69.3 68.5 90c6.2 21 36.6 27.8 55.7 24.8 5.5-.8 11-2.3 16.6-3.8 13.8-3.6 27.6-7.2 42-1.8 13.1 5 23.4-.7 33-8 11-8.3 15.3-33 8.6-44.5-4.8-8.1-21.5-13-32.4-9a125 125 0 0 0-20.8 9.5c-14.3 8.6-27.5 7.1-42.1 0l-5.5-2.8ZM211 77.8c-1.5 5.4-3 11-8.1 14.4a62.1 62.1 0 0 0-3 1.4c-18.4-3.5-36.5-.6-54.6 2.3a208 208 0 0 1-40.8 3.7c-13.3-.5-23-9.2-23.5-20C80.5 67 86 61.2 98.8 62.7c8.8 1 17.4 3.4 25.5 7a65 65 0 0 0 54-1.1c6.6-3 13.4-3.7 20.2-4.5l4.4-.5c7.1-1 10.8 5 8.8 12l-.6 2.1Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><path d="M53.4 96.7c.2-5.7.5-10.4.3-15-.2-7.3 3-10.2 10.5-8.5 2.8 10.7 2 22 1.1 32.7-1.8 19.6 7.7 32 23 41.6 19.6 12.3 25.6 32.7 13.4 48.6-19.8 25.4-56.3 21.8-75-4.1-2.2-3.2-1.4-7.5 0-11.2.9-2.3 1.9-5 5-5 3.8-.2 5.2 2.2 5.6 5.5 1.8 12.3 10.8 16.9 21.2 18.8 13 2.4 24.5-.5 32.3-12.4 7-10.7 5-20.9-6-26.9-25.4-13.7-35.9-34.6-31.4-64Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M409.2 75.7c13.1.3 25.4 1 37.7 2.5 3 .3 4.9 3.3 5 6.6 0 3.4-1.8 5.7-4.8 7-11.1 4.9-22 8.3-33.7.2-6.5-4.4-8.9-8.6-4.2-16.3ZM254.7 78.4c6.2 3.3 5.2 7 2.1 10.8-6.5 8-28.2 10-36.4 3.5-4.7-3.8-7.3-8.6-4.4-14.4 3-6 8.2-5 13-2.5 8 4 16.4 3 25.7 2.6Z" fill="#000"/></g><g transform="translate(610 680)"></g><g transform="translate(774 657)"><path d="M104.9 38.7C82.4 47 60.2 43 38.3 43c-3 0-6.3-2.2-9.2-4-2.7-1.5-4.4-4-3-7.4 1.5-3.7 4-5 8-4.5 27.2 3.7 53.7.8 79.9-7 5-1.6 13.3-8 16.2 1.6 3 10.2-6.8 10.8-13.4 13l-12 3.9ZM260.5 33.1c-7.2 2.7-13.5 5.3-19.9 7.6-2.4.8-5.1.9-6.8-1.8-1.6-2.4-1-4.4.5-7 13.4-22 56.2-24.9 71-4.4 1.9 2.4 3.3 5 4.2 7.8 1.3 4.1 2.4 9.2-2.2 11.5-4.3 2.2-7.7-1.1-10.7-4.5-14-15.5-17-16.3-36-9.2Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/kai.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="m1315.2 701.4-1308.5.9S79.6 422 99 389.8c19.5-32.1 97.6-140.4 96.7-158.8-.9-18.4 1.5-83.8 14.7-109.6 13.2-26 55.2-61.3 71.6-64 16.4-2.5 71.7-5 106.2-13.7 34.5-8.6 66.4-19.3 101.5-19.3 5.7 0 .2 12.5.2 12.5s1.8 122.3 164.8 130c121.5 5.7 161.7-117.6 161.7-117.6s-26.7-23.8-18.6-24.4c95.6-8.2 145.7 13.2 174.7 18.8 26.8 5.2 49.2 5.2 76 24.2 30.7 21.7 46.5 71 80.9 146.5 39.3 86.6 194.1 349.3 185.8 487.6" fill="#000"/><g fill-rule="evenodd" clip-rule="evenodd" fill="#fff"><path d="M1003.5 704.5c-.8-17-1.1-34-1.5-50.9-.8-37.1-1.6-74.3-6.4-111.5-4.4-34-9.5-68-15-101.9A2951.8 2951.8 0 0 0 947 274.4c-4.2-18.9-11.5-37.4-19.3-55.3-5.7-13-10.4-26.4-15.2-39.8-5.5-15.3-11-30.6-17.8-45.4-1.2-2.6-2.7-5-4.2-7.4-3-4.5-6-9.3-7.5-16.4-47.5 93.4-120.4 141.8-223.2 142.3-101.2.4-176-46.2-230.6-130.3-8.6 7-12.5 17-16 26l-1.4 3.3c-18.6 45.9-36 92-41.5 142.2-3.1 29-7.6 58-12 86.8l-1.8 11.4c-6.9 45.2-13 90.7-16.2 136.4-4.3 58-8.8 116-13.4 175.2-4.7 1.1-9.1 1.1-14.6 1.1a688 688 0 0 0 5.2-74.8c1.6-49.7 7.3-99 13-148.2L335 441c3-28 7-56 11.1-83.8 4-27.5 8-55 11-82.7 4.9-44 21.9-85.2 40-125.6l.8-2c10.4-23.3 20.8-46.7 37.5-66.5 12.9-15.3 27.5-28.9 44.8-39 13.9-8.1 18.4-6.4 23.1 9 9.6 31.5 26.3 58.5 53.3 76.9 42.8 29 89 42.2 141.3 26.9 36.5-10.7 66.6-29.1 88.3-60.2 8.4-12 16-25 18.5-40a205.3 205.3 0 0 1-18.2-7v-.1c-3-1.4-6.7-3-5.1-7.5 1.2-3.4 4-5.9 7.8-5.3 33.1 4.5 64.5 11.7 86.4 41.1a347 347 0 0 1 47.4 89.2l7.5 20.4c12.6 33.7 25.1 67.4 34.4 102.2 3.6 13.8 6.4 27.7 9.1 41.7l3.6 17.9 5.2 23.7c4 18.2 8 36.3 10.9 54.7 2 12.6 4 25.2 6.2 37.8 6 35.9 12.2 71.7 13.8 108.2.8 18 2 36 3.4 54 1.1 15 2.2 30.1 3 45.3.4 8.2-.4 16.5-1.3 25l-.8 8.6c-4.8.6-9.7.9-14.6.7ZM818.4 64c-8 18.5-15.8 37-29.3 52.4-34.3 39.1-78.7 57-129.4 58.5-34 1-67.5-6-97-25-28.5-18.4-53-40.7-65-74l-1.2-3.8c-2-5.8-4-11.8-8.6-16-13.2 3-16.7 11.3-14.6 23l.9 5.8c.5 4 1 8 2.4 11.7 12.5 35.4 37 61.4 68.3 80.4 24.6 15 51.4 24.8 80.8 28.5C686 213 742.2 205 792 167.7a128.3 128.3 0 0 0 53.4-90.4c1.7-15-7.2-22-24.7-18.7l-2.3 5.4ZM457.2 79.8c20 82 77 121.4 153.7 138.6 39 9.8 76 8.2 113.1-1.5 41.3-10.7 77.6-29.3 104.8-63 16.6-20.8 28.9-43.7 29.3-71.6 15 7.8 16.5 13.2 6.5 32A229 229 0 0 1 768 212c-46.4 24-96.4 30.4-148.6 22.5-54.2-8.1-98.7-33.7-137.7-70.4a245.5 245.5 0 0 1-35.2-45.3l-6.8-10.3c-2.7-4-1-7.2 1.7-10.3a4082.7 4082.7 0 0 1 15.8-18.5Z"/><path d="M215 704.5c4.6-15.4 6.3-31.3 8-47.3.8-8 1.7-16 2.9-24l2.7-18c3.5-24.2 7-48.4 12.4-72.4l4.9-20.6c3.1-13.3 6.3-26.6 8.7-40.1 4-23 10.8-45.5 20.4-66.9a251 251 0 0 0 22.2-102 470 470 0 0 1 4.7-52.5c1.7-13 3.3-26 4.1-39 1.6-24.7.4-49-1-75.6-3.8 3-7.5 6-11 9a714 714 0 0 1-22 17.6c-43 32.4-76.4 73.2-105 118a613.1 613.1 0 0 0-29.8 54.7c-3.8 7.5-7.5 15-11.4 22.4A833.1 833.1 0 0 0 85.5 462c-2 5.8-4.3 11.5-6.4 17.2-17.9 47-35.8 94.2-42.8 144.4-2 14.4-6 28.2-9.9 42.1-3.5 12.4-7 24.8-9.3 37.9-5.5 1-10.8 1-17.1 1l2.8-9.8c8.4-29.5 17-59.1 21.3-90 2.1-15.6 6.6-31 11.1-46.2l3-10.5c4.5-15.5 10.3-30.5 16-45.5 5-13 10-26 14.2-39.5 4.9-15.8 11.5-31.2 18-46.5 2.5-5.7 5-11.3 7.3-17 16.6-40.3 37.4-78.6 59-116.3l.3-.5c7.4-12.9 15-26.1 26-36.7 8.7-8.3 9.2-19 9.7-29.7a105 105 0 0 1 2.4-20.1c5-31.7 10.1-63.6 26.2-91.8 16.8-29.4 44.6-45.7 77-53.6 23.6-5.8 47.6-9.4 71.8-11 10-.5 19.8-3.7 29.6-6.9 5.2-1.7 10.5-3.4 15.8-4.7 5-1.2 10-2.6 15-4C445.8 19.2 464.9 14 485 15h1c4 .2 8.3.3 9 5.5.6 5.1-3 5.8-6.6 6.5l-2 .4-42 9.9C418 43.5 391.7 49.8 365 55.6c-11.5 2.5-23.5 3.2-35.4 4l-8.8.6c-8.6.6-16.7 1.7-23.8 6.3 25.8 16.1 41 37.8 40.6 68.8-.3 18.3.5 36.5 1.2 54.8 1 24.1 2 48.2.6 72.3-1.7 31.5-5.2 62.6-9.9 93.8-2.7 18.1-4.7 36.4-6.8 54.6-2 17.2-4 34.4-6.4 51.5-2.5 17-4.1 34.2-5.8 51.3-1.5 15.8-3 31.6-5.2 47.4-2.6 18.5-4.4 37-6.3 55.6-1.6 16-3.2 32.2-5.3 48.2-.5 4-.7 8.2-1 12.3-.5 8.7-1 17.5-4 26.5-5.7 1-11.4 1-17 0a770 770 0 0 0 16.7-101l.4-3.8c2-16.5 3.4-33 4.9-49.6 2.3-27 4.7-54 9.3-80.8a345 345 0 0 0 3.5-32.5c1.1-14.1 2.2-28.2 5.5-42.1a595 595 0 0 0 13-106c2.8-52.3 3.5-104.8.3-157-1-16.7-4.6-33.5-19.5-47 1.6 5 3.3 9.7 5 14.3 3.7 9.8 7.2 19 8 28.5a779 779 0 0 1 2.2 82.7c-.5 32.2-4 64.2-7.6 96.2l-3.5 33.1C306.3 375 301.2 411 296 447l-6.7 48.1c-2 14.5-3.4 29.1-5 43.7-1.7 17.5-3.5 35-6.1 52.4-1.6 11-2.6 22.2-3.6 33.3-1.7 18.5-3.3 37-8 55.1-.2 1.2-.6 2.5-1 3.7-1.9 6.8-4 14-.5 21.3a100 100 0 0 1-16.7-1c.8-7.8 2-15.3 3.2-22.7 1-6.5 2.1-13 2.8-19.6 1.4-13.7 3-27.3 4.5-40.9l5-45.1c3-29 6.8-57.9 10.7-86.8l5-37c-2 8.2-4.4 16.2-6.8 24.1-3.5 11.5-7 22.9-8.8 34.6-2.6 16.8-6 33.3-9.6 50-4.5 21.5-9 43-11.6 65l-3.1 22.7a361 361 0 0 0-5.3 56.7H215Zm60.3-554.3a93.8 93.8 0 0 1 20.5-17c6.7-3.8 8.6-10 6.2-16.3-1.2-3-1.6-6.5-2.1-9.9-1.1-7.8-2.2-15.7-11.6-19.7-5-2.2-9.8-.3-13.3 2.2a70.8 70.8 0 0 0-17.4 16.6c-17.2 26-26.7 55.2-35.7 88.3 11-11 22.2-19.5 33.3-28.1 6.8-5.2 13.5-10.4 20.1-16Zm-37.6-40c-9.8 23.6-19.7 47-22 73a56.4 56.4 0 0 1-11.4 31.2l3.7-18c6.8-33.4 13.6-66.9 33.8-96l-4 9.8ZM1276.5 559.3c15.8 47 24.1 96 31.6 145.2 5.5 0 10 0 14.6-1-4-39.4-12.7-76.7-21.4-114l-.2-.6c-4-17.6-9.8-34.7-15.6-51.8l-5-15a1501 1501 0 0 0-43.6-120.6 660.7 660.7 0 0 0-30.5-60c-4.7-8.5-9-17-13.3-25.7a333 333 0 0 0-35.9-59.7c-5.8-7.4-11.8-14.9-14.5-23.3a2262.2 2262.2 0 0 0-37.2-102.7 155.7 155.7 0 0 0-32.7-54c-20.4-21-48-28.5-75.1-35-23-5.4-46.1-10-69.2-14.5L888 18.4a354 354 0 0 0-103.9-6c-5.5.5-10 1.8-12 10.6 14.6 1.7 29.2 2 43.7 2.4 24.2.7 48.4 1.3 72.4 7.9 25.2 6.8 51 12.3 77.4 17.9 12.5 2.6 25 5.2 37.9 8.1-9.2 9.7-9.5 19.4-9.8 29l-.1 4.5c-.8 14 1.4 27.7 3.5 41.4 1.5 9.4 3 18.8 3.5 28.2 2.4 44.8 9.6 89 16.8 133l1.3 8.4c3.5 21.3 6 42.7 8.5 64 2.3 19 4.5 38.1 7.5 57 4.7 31 6.4 62.4 8.1 93.7 1.2 21.3 2.4 42.6 4.5 63.9 2 21 3.6 42.1 5.1 63.3 1.4 19.6 2.8 39.2 4.7 58.8h11.8c-.6-49.1-4.2-98-7.9-147-1.8-25.2-3.7-50.3-5.2-75.4a769.2 769.2 0 0 0-7-62.6c-1.6-10.8-3-21.5-4.4-32.2-3.7-31.7-8.7-63.2-13.7-94.7-4.3-27.2-8.6-54.3-12-81.6-1.8-13.2-4-26.2-6-39.3-4.6-27.2-9-54.3-9.4-82-.1-11 3.4-19.7 12.5-27-14.6 30.1-8.2 59.2-1.8 88 1.7 7.7 3.3 15.2 4.6 22.8 1.2 6.7 2.5 13.3 4 20 2.7 13.3 5.5 26.7 6.2 40.2.6 11.2 2.8 22 4.8 32.7 1.5 7.5 3 15 4 22.7 2.4 19.7 5.6 39.3 8.8 59 5 30.6 10 61.2 12.2 92.3 1.8 26.5 7 52.9 12 79l.7 4c2.5 12.8 3 25.8 3.4 38.4l.1 2.1a972 972 0 0 0 4.2 55.3c2.2 24 4.5 47.9 4.5 72l-.3 4.4c-.1 2.4-.3 5-.1 8a47 47 0 0 0 11.4 1c2.7-45.3-.4-90.4-4.4-138 14 40 21 79.4 28 119.4l3 17.4c5.4 1 11 1.2 16.5.3-4-8.8-4.6-17.9-5.2-26.8-.5-5.6-.9-11.1-2-16.5l-3.4-14.6c-7.8-35-15.6-70-30-103.5l-3.1-6.9a74 74 0 0 1-8.3-25.2c-1.1-15-4.1-29.7-7-44.2l-2.5-12.3a723.9 723.9 0 0 1-7.8-56c-2.2-19.1-4.4-38.3-8.1-57.3-3.7-18.8-7-37.7-10.1-56.6-5-29.5-10-59-17-88.3l-2-8.4a204.3 204.3 0 0 1-6.7-36.9c1.6.7 3.1 1.1 4.4 1.6 2.4.8 4.2 1.4 5.7 2.5l1 .8c31.2 24 62.6 48.2 87.1 79.5a488.4 488.4 0 0 1 56 87.2c5.8 12 12 24 18 35.9a951.4 951.4 0 0 1 37.1 78c11.8 28.9 21.4 58.5 31 88 3.8 12 7.7 23.8 11.7 35.6Zm-243.6-422.8c-6.1-3.5-10.4-8.2-11.4-15.4a65 65 0 0 1-2.9-33.4c2.2-15.3 12.7-19.6 26.5-13 19.9 9.3 28.6 27.5 37.1 45.2 1 1.8 1.8 3.7 2.7 5.5 8.2 16.9 15 34.5 22.2 53.2l10 26-11.4-10.8a453.4 453.4 0 0 0-55.4-46.7c-5.6-3.8-11.5-7.2-17.4-10.6Z"/></g><g transform="translate(396 278)" style="mix-blend-mode:difference"></g></g><g transform="translate(266 207)"><path d="M841.5 278.8c15 39.8 28.8 69.8 26.2 111.7-1 15.4-12.2 39.7-16 54.5-5.3 20.4-16.4 39.1-17.7 60.7-.2 2.7-2.2 4.5-6.8 5.4-7.8-10.2-8.8-23.2-9.2-35.2-1.2-37.5-3-74.8-11.4-111.4-2.4-10.3-6.3-20.1-10.4-32.7-3.7 34-3.7 33.8-34.6 34.3-55.6 1-111 4.3-166 12.3-15.7 2.3-17 1.3-27.8-18.8-11 7.4-10.7 20.6-16.2 30.6-16.7 30.9-38.2 57.1-70 73.9-11 5.8-33.4 5-58.8-1.7-9.5 30.3-32.5 56.6-24.4 92.2a41 41 0 0 1-7 34c-3.8 5.4-8 6.3-13.2 4.7-5.3-1.6-2.8-5.9-2.7-9.6.5-32.6-7.4-63.5-25.9-90.3-17-24.8-57.1-18.6-69.9 9.4-2.3 5.2-3.4 11.4-11.5 16.4-1.5-18.3-1.8-35 .1-51.5a486.2 486.2 0 0 1 25-112.7 307.7 307.7 0 0 1 95.3-135.4 300.6 300.6 0 0 1 162-65.4c12-1.3 23.9-3.6 35.9-4.8a284 284 0 0 1 124.4 15.8c53.8 19 100.2 48.2 124.5 102.7 1.5 3.5 3.7 6.7 6.1 10.9ZM365.7 632.1c4-1.1 6.8-.9 8 2.9 8.6 24.2 9 49.4 7.8 74.5-.5 9.6-16.4 21.2-29.7 23-12.7 1.6-24.5-.1-32-12-4-6.3-1-13 1.3-20.5-14.3.4-26.7 6-39.5 0-17-7.9-18.7-15.4-5.2-28l3.5-4.3c-6-7.6-15.8-8.7-22-15.5-6.9-7.3-7.9-14.2-2.3-21.5 7.4-9.5 19.2-11.3 27.2-5 3.1 2.2 5.7 5.2 7.5 8.6a44.5 44.5 0 0 0 40.7 24.6c18.2.5 28.3-10.3 34.7-26.8Z" fill="#000"/></g><g transform="translate(791 871)"><path d="M101.4 93.5c-2.6-12.2-2.9-25.4-21.6-18.7-2.6.9-5-3.7-3.1-6.7 4.4-7 10.7-11.9 19.6-10.9 10.6 1.3 20.9 10.6 20 19.5-.7 8.1-2 17.4-14.9 16.8Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><path d="M65.7 103.7c-.6 21.6 16.4 30.6 27.5 43.5 8.5 10 18.5 18.7 13.7 34.4a39.6 39.6 0 0 1-40.8 27.6 104 104 0 0 1-36.4-11A22.2 22.2 0 0 1 19 187.6c-1.7-3.8-5.4-7.8-.5-11.4 4.6-3.4 7 0 10 3.7 11 13.3 26 16.4 42.6 15.7A23.2 23.2 0 0 0 93 180.8c3.6-8.3-1.6-15.2-6.3-20.8-9.3-11-20-20.5-27.4-33.2-8.3-14.2-7.6-44.1 2.2-57.4 1.9-2.5 3.6-5 7.2-3.1 3.8 2 3.4 5.5 2.2 9a69.3 69.3 0 0 0-5.2 28.4Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M409.2 75.7c13.1.3 25.4 1 37.7 2.5 3 .3 4.9 3.3 5 6.6 0 3.4-1.8 5.7-4.8 7-11.1 4.9-22 8.3-33.7.2-6.5-4.4-8.9-8.6-4.2-16.3ZM254.7 78.4c6.2 3.3 5.2 7 2.1 10.8-6.5 8-28.2 10-36.4 3.5-4.7-3.8-7.3-8.6-4.4-14.4 3-6 8.2-5 13-2.5 8 4 16.4 3 25.7 2.6Z" fill="#000"/></g><g transform="translate(610 680)"></g><g transform="translate(774 657)"><path d="M30.3 32.1C58 10 89.8 13.1 121 14.1c5.7 0 12.2 1.3 14.3 8.3 2.1 7.7-4.6 9.9-8.8 13.8a44.7 44.7 0 0 1-52.2 8.6 37.9 37.9 0 0 0-31.9 1.6c-2 1-3.8 1.9-5.8 2.6-6.3 2.5-14.3 6-18.6-.4-4.4-6.7 5.6-9 8.3-13.7.6-1 2-1.6 3.9-2.8ZM294.4 23.8c7.7 4.3 14.5 10 20 17 2.5 3 5 6.3 3 10.2-2.4 4.3-6.7 2.7-10.4 2.2-12.5-1.5-23.7-9.2-37-7.2-5 .8-9.9.7-15 2.5-13 4.7-31-6.4-33-19.8-1-5.4 1-8.5 6.8-10 22.2-5.7 44-9 65.6 5.1Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/leo.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="M1301.3 694.3S1276 480.8 1263 423.6c-25.7-111.8-73.3-201.4-135.3-220.5-29.6-9.2-39.4-34-47-53.2-3-7.8-5.8-14.7-9.3-19.2C1040 90.7 975 50.5 941 37.3 914.5 27 838.5 20.6 813 30.7c-11.5 4.5-16.2 11-17.6 18.5-1.5.5-3 1.1-4.4 2-3.3 1.8-6 5-9.5 9C768 75.7 745 102.1 653.7 98c-72.5-3.2-120.5-13.8-149-58.3-2.3-3.6-5-4.8-8-4.2a223.7 223.7 0 0 0-163 19C316.2 64 219.4 158.4 218.4 163.7c-2 10.6-25.6 28-55.2 47.6C100.9 252.4 73.6 333 49.3 404.4l-6.6 19.2C31.8 455.2 6.1 692 6.1 692l176 2.3h1119.2Z" fill="#000"/><mask id="bodyVariant08-a" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="453" y="259" width="392" height="433"><path d="m467 692-14-432.5h392V692H467Z" fill="#fff"/></mask><g mask="url(#bodyVariant08-a)"><g transform="translate(396 278)" style="mix-blend-mode:difference"><path d="M204.9 175.7s150.1 43.7 172 42.1c9.5-.6 13.6-7 11.8-16.2a28 28 0 0 0-5.5-12c-2.9-4-186-225.6-203.5-184.5a16 16 0 0 0 .5 12.5c4.3 8 10.8 14.4 16.3 21.3 21.4 24.8 41.6 50.6 63.1 75.3 12.7 14.9 30.5 34.2 37.9 47.7-5.4-.5-15.1-3.5-21.1-4.9-13.5-3.4-27-7-40.5-10.3a313.1 313.1 0 0 0-60.2-9.7c-9.2-.1-20.4-.4-27 7.1-5.2 6.5-6 15.8-2.8 23.3 4 8.3 10.7 15 16.6 22a855 855 0 0 0 29.6 30.9c18.8 18.5 37.3 37.2 56.2 55.5 22 21 43.5 42.3 65 63.7 15.9 15.5 32 30.7 47.9 46.2 4.8 4.7 9.6 9.4 14.8 13.7l5.3 4.2c1.2.8 2.4 1.7 3.9 1.8 2.5-.4 3.3-3.5 3.6-5.7.9-5.8-2.8-10.7-5.6-15.3C358.6 345.7 205 175.7 205 175.7Z" fill="#fff"/></g></g><path d="M1295 694c-6.2-21.3-11.5-73.3-14.9-102-2.4-20.7-19.6-166.5-38.5-217.4-11.6-31.1-22.4-63-39.5-92.1-11.7-20-29.3-34.3-46-48.9a513 513 0 0 0-67-48.2c-30.9-19.2-63.4-23-97.6-11.7a32 32 0 0 0-21.9 24.3c-13.4 53.3-9.1 107.6-9.8 161.6-.8 69.8 3.1 139.5 5.2 209.2 1.8 57.2 0 66.7-.6 125.2h-14.5c-.9-32.2-.4-15.3-.6-47.5-.2-47.6-.8-95.1-1.6-142.7-.6-37.8-.3-75.7-2.8-113.5-2.6-39.6-2.7-79.1.7-118.6 2.5-28.2.1-57 11.3-84.3 9.4-23 28.3-31.8 49.9-33.5 22.4-1.7 45.7-4.8 69.8 9.3-4.8-16.6-15-24.7-22.6-34-28-34.2-65.5-55.5-103.6-76.8-39.3-22-80.7-19-122.6-17.4-6.5.3-12 3.8-17.8 6.7-7.5 4-15.3 7.3-26.6 4.8 9.5-13 22.1-17.3 35.1-21.1 37.1-10.8 73-5.2 95.7-1.8C943 28 1042.7 76 1089.7 151.5c22.3 35.9 85.8 36.4 143.6 157.6a528 528 0 0 1 34.7 100.7c10.9 44 39.5 252.6 39.5 284.2H1295ZM15.3 694c2-6.9 2.7-9.9 3.6-15.7 4.6-28.4 5.5-57.6 8.9-86.3 2.4-20.7 3.3-41.4 6-62 7.2-52.7 15.6-105 32.5-155.4 10.7-31.7 22.4-63 39.5-92.1 11.7-20 29.3-34.3 46-48.9 20.7-18 43.5-33.7 67-48.2 30.9-19.2 63.4-23 97.6-11.7a32 32 0 0 1 21.9 24.3c13.4 53.3 9.1 107.6 9.8 161.6.8 69.8-3.1 139.5-5.2 209.2-1.8 57.2.5 125 .5 125l14.6.2c.9-32.2.4-15.3.6-47.5.2-47.6.8-95.1 1.6-142.7.6-37.8.3-75.7 2.8-113.5 2.6-39.6 2.7-79.1-.7-118.6-2.5-28.2-.1-57-11.3-84.3-9.4-23-28.3-31.8-50-33.5-22.3-1.7-45.6-4.8-69.7 9.3 4.8-16.6 15-24.7 22.6-34 28-34.2 65.5-55.5 103.5-76.8 39.4-22 80.8-19 122.7-17.4 6.5.3 12 3.8 17.8 6.7 7.5 4 2.3 11.5 6.4.7 5.8-15-2-13.2-15-17-37-10.8-74-4-111 .5-7.4 1-14.8 4.4-21.5 8-51.4 27.8-116 77.2-138.6 117.6-12 21.6-30.7 32.8-47.5 47.7C111 252.3 95.3 263.8 74.6 309a573.6 573.6 0 0 0-34.7 100.7c-11 44-19.1 88.6-22.8 134.2-2.7 32.4-7.4 64.8-10.3 97.4-2 22.8-3.5 39.7-3.5 52.6h12Z" fill="#fff"/><path d="M1131.8 694c2-23.7-8-84.7-12.5-115.7-3.3-22.6-3-46-11.4-67.7-2.1-5.4-1.5-12.4 5.3-13.5 6.4-1 9.2 3.5 10.7 10.8 7.8 38.3 11.3 77.2 16 116 3.5 30 7.8 60 8.5 70l-16.6.1ZM193.3 694c1.4-23.6 8-84.7 12.6-115.7 3.3-22.6 3-46 11.4-67.7 2.1-5.4 1.5-12.4-5.3-13.5-6.4-1-9.3 3.5-10.7 10.8-7.8 38.3-11.3 77.2-16 116-3.6 30-5.7 70.1-5.7 70.1h13.7Z" fill="#fff"/><path d="M467.4 694.3S452.7 266.8 452.7 179c0-72.8 36.6-163 52-139.2 28.5 43.8 77.2 58.4 149.7 61.5 115 5 120.9-41.3 136.6-50 31.4-17.6 52.7 66 52.7 141.4V694" stroke="#fff" stroke-width="15"/></g><g transform="translate(266 207)"><path d="M393.2 749.9c-56.5 18.4-150.5-40-180.6-70-46-46-58.2-136.2-43.3-204.5 14.8-68.3 111.4-415.7 409.3-440C757.2 20.6 847.6 134 888 193.2c63 91.8 99.7 223.2 63 317.3-19.2 49.3-89.7 135.8-106.6 126.5-16.9-9.3-23-118.2-15-184.1 14-116.2-176.8-196.2-176.8-196.2S594.2 307 505.2 396c-89 89-126.6 162.8-129.7 220.9-3.4 63 17.7 132.9 17.7 132.9Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M382.9 645.7c-1-17.7-2-35.6 1.8-54a157.3 157.3 0 0 1 24.8-71.3c27-45.1 62-84.3 98.8-121.4 27.4-27.7 54.3-51.6 81.6-75.8 19.4-17.2 38.9-34.6 59-53.5 8.3-8 96.4 41 128.6 73.3 20.4 20.5 40.4 44.4 45.3 66.5 4.6 21.2 2.7 42.8.8 64.4-.6 7.3-1.3 14.6-1.6 21.9-.4 6.8-1.5 13.6-2.6 20.4-2 12.4-4 24.8-1.6 37.6l4.5 22.8c4.1 20.2 8.3 40.4 9.2 61 .4 8.5 5.9 10.2 13.7 7.4 18.6-6.8 32-20.2 45.5-33.8 25-25 41.4-55.7 57.6-86.4 13.8-26.2 24-52.9 23.4-83.6-.2-7.7-.2-15.5-.2-23.3 0-9.1-.1-18.3-.4-27.4-.9-32.7-10.9-63.7-21.2-94-12-35.7-31.5-68.1-52.9-99.2-32.4-47.1-70-89-119-119.9-46.6-29.4-98.5-42.6-152.8-46.9-38.2-3-75.2 4.2-112 13.6-29 7.4-56 20-82.2 33.1a309.8 309.8 0 0 0-59.9 40.4c-45.5 38-87.4 78.5-119 129.3A895 895 0 0 0 192.2 363c-12.9 29.7-20 61.6-27 93.5l-2 9a276.3 276.3 0 0 0 22.3 186.8c22 44.9 60.3 74.3 107.1 91 27.4 9.7 55.3 19 85.3 19 14.7 0 17.2-.3 17-15.5-.1-12.4-2.9-24.5-5.6-36.6-3-12.7-5.8-25.4-5.7-38.7.1-8.6-.4-17.3-.8-26Zm453-190.6c.8-21.6-1-43.1-9.2-63.5-17.8-46.5-59-76.6-91-95.7a345.4 345.4 0 0 0-36.1-18c-10.4-4.7-19.5-8.8-26.8-13.7-10.2-6.8-11-8.7-1.5-17.4 1.3-1 2.5-2.3 3.5-3.7 10.7-16.9 32.1-32 49.6-39.5a72.3 72.3 0 0 0 39.9-40.7c1-2.5 1.7-4.9-2-8.9-13.8 21-30.4 38.8-57.2 48.6l10-17c10.3-16.8 20.2-33 25.7-53-10.3 2.7-13.3 9.9-15.8 16.1l-1.7 4a466.2 466.2 0 0 1-63.7 91.8c-18.1 20.7-37.2 36.4-56.5 52.3-14.4 11.8-29 23.7-43.4 38-11 10.8-22.2 21.1-33.5 31.4-20.5 18.8-41 37.6-59 58.7-25 29.3-49.2 59.4-71.4 91-15.2 21.6-19.7 48-23.2 74.5-6 46 1.7 90.7 9.7 135.5 3.5 19.3.2 23.7-19.2 24-23.7.3-45-8.2-65.6-18.4A265.4 265.4 0 0 1 223 679c-28.4-29.2-43.3-64.1-50.8-103.3-6.4-33.9-1.1-67 4.1-100l2.2-14c5-33 17-63.7 28.8-94.4 3.7-9.6 7.4-19.2 10.9-29 18.8-52 49.6-96.4 84.7-138 44-52.5 95.2-96.6 158.3-125.6 55-25.3 112.2-39.9 172.8-34.3 24 2.2 47.8 7.4 70.6 15.3a336 336 0 0 1 87.5 45.7 399 399 0 0 1 84.5 86c26.4 35 46.7 73.5 61.9 114.4a354 354 0 0 1 21.3 94c1.5 17 .7 33.8-.1 50.6l-.7 15.5c-.6 19-8.5 35.8-16.3 52.5l-2.8 6.3a310.6 310.6 0 0 1-80.2 104.8c-9.4 8.3-16.8 6.5-19.3-5.7a425.8 425.8 0 0 1-5.1-33.7l-2.4-18c-3.8-25.5-1.6-50.9.6-76.2 1-12.3 2.1-24.5 2.5-36.8Z" fill="#000"/><path d="M304 574.3c6.9-35.3 14.7-69.1 33.3-99.3a219.2 219.2 0 0 1 40.2-50.8c3.4-3 6.5-8.1 15-6.2-67 75.4-103.8 157.6-62.4 258.2-18.4-8.2-29.3-51-26-101.9ZM439.2 424.4l-40.5 54.8c2-35.7 141.3-200.3 176.8-203.6a875 875 0 0 0-136.3 148.8ZM919 480.2c-3.8 10.5-2.5 22-10.4 30.4-4.7-12 .6-22.7 4.5-33.1 1.4-4 4.7-1.8 6 2.7ZM935.2 441c5-5.4 7.4-3.1 7.5 2 .2 8.3-2 16-11 25 1.3-11 2.1-18.6 3.5-27ZM915.3 444.8c-1 4.9-1 9.5-7.4 10.6-4.5-9.9.8-17.1 5.4-25.5 6.5 4.6 3.2 9.4 2 14.9Z" fill="#000"/></g><g transform="translate(791 871)"><g fill-rule="evenodd" clip-rule="evenodd"><path d="M104.5 69.3c5.8 1.4 12 3 10 11.7-4 1.5-6.9-.3-9.8-2.1-3.5-2.1-7-4.2-12.2-1.2 1.5-8.5 5.9-10 11.2-8.6.3 0 .5 0 .8.2Zm93.3 5.8c3.4 3.2 1.2 7-1.4 10-1.3.5-2.5 1.1-3.6 1.7-3.5 1.9-6.4 3.4-10 1.6-3-5.4-2.7-10.4 3-13.7 3.8-2 8.6-2.6 12 .4Zm-24.2 13.2c1.2-7.3-1.2-11.4-9.3-10.4-4.9.7-9.6 1.9-8.8 8.2.7 6.6 5 6.2 9.1 5.8l3.6-.2c1.5.1 3-1.1 5.4-3.4ZM126.3 106l1.5-.3c1.5-.2 3-.5 3.2-3-16.9-.8-30.7-8.7-44.4-20.5a40.8 40.8 0 0 0 39.7 23.8Zm.2-20c2.4 6.8 7.8 6.8 13.3 5 3.8-1.4 3.5-5.4 3.3-8.7-.4-5-3.8-6-8-6.3-6.1-.5-8.2 2.8-8.6 10Z" fill="#fff"/><path d="M186.9 60.6a76.9 76.9 0 0 1-41 4.6c-13.1-.8-24.3-4.5-35.4-9C99.3 52 83.6 58.4 76 69.5c-6.7 10-6 20 3.5 30 10.8 11.5 24.3 20.7 40 19.6 9-.7 18-1.6 27-2.6 20.7-2.1 41.3-4.3 62.4-3 17.5 1 26.1-15.5 21.2-32.7-5.7-19.4-22.6-27.3-43.3-20.1Zm-22.6 17.3c8-1 10.5 3 9.3 10.4-2.4 2.3-4 3.5-5.4 3.4-1 0-2.3 0-3.6.2-4 .4-8.4.8-9.1-5.8-.8-6.3 4-7.5 8.8-8.2Zm-38 28 1.5-.3c1.5-.2 3-.5 3.2-3-16.9-.8-30.7-8.7-44.4-20.5a40.8 40.8 0 0 0 39.7 23.8Zm71.5-30.8c3.4 3.2 1.2 7-1.4 10-1.3.5-2.5 1.1-3.6 1.7-3.5 1.9-6.4 3.4-10 1.6-3-5.4-2.7-10.4 3-13.7 3.8-2 8.6-2.6 12 .4Zm-71.3 10.7c2.4 7 7.8 7 13.3 5 3.8-1.3 3.5-5.3 3.3-8.6-.4-5-3.8-6-8-6.3-6.1-.5-8.2 2.8-8.6 10Zm-22-16.5c5.8 1.4 12 3 10 11.7-4 1.5-6.9-.3-9.8-2.1-3.5-2.1-7-4.2-12.2-1.2 1.5-8.5 5.9-10 11.2-8.6.3 0 .5 0 .8.2Z" fill="#000"/></g></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><path d="M71.5 185c5-15.6-6-26.3-10.4-38.5-8.6-23.7-16.2-47.4-15-73 .2-4.6-.7-10.7 6-10.6 5.1.2 7.9 5.2 8 10 1.6 35.5 14.5 67.7 29 99.3 2.7 6 2.1 11.1-1.1 16.9-8.5 15.1-22.3 20-38.2 20.5-8.7.3-15-4.5-18.2-15.2 14-1.8 29.4 4.8 39.9-9.4Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M419.6 111c-4.2-9.5-9.9-15.2-19.8-15.7-6-.3-7-5.1-8.9-9.8 2-1.5 3.5-3.7 5.3-3.8 21.1-1.7 42.4-1.8 63.5-.1 6 .4 9.3 8 3.2 10.4-10 4-12.5 13.2-18.5 19.8-8.2 9-15.2 9.1-24.8-.8ZM228.6 81.4c12.2.7 23.1 1 34 2 3.6.3 8 1.8 8 6.7 0 5.6-4.6 5.2-8.3 5.1-6.3 0-9.7 2.7-12.5 8.6-3.4 7.4-6.9 15.3-18 14.8-10.5-.5-15.1-7.2-18.1-15.2-2.2-5.7-5-8.4-11-8.2-3.4.1-7.1-.2-7.5-4.9-.4-5 3-6 7-7.2a67.9 67.9 0 0 1 26.4-1.7Z" fill="#000"/></g><g transform="translate(610 680)"></g><g transform="translate(774 657)"><path d="M81.4 35C60 29.6 52 33.2 40 52.6c-2.4 4-3.4 11.4-10.6 7-5.6-3.4-5.3-8.8-2.6-14.6a51.4 51.4 0 0 1 38-30.7 33.1 33.1 0 0 1 37.5 26.4c.9 5.3.1 10-4.8 13.6-11.2-1.3-8-14.2-16-19.1ZM246.2 32.8c14-6.2 27-12.4 41.2-1.9 5.1 3.7 9 8.8 11.3 14.7 2 5 2.3 10.7-2.7 13.8-5.7 3.5-8.1-2.1-11-5.6-10.4-12.8-18.4-13.7-32.4-4.6-4 2.6-6.8 8-13.5 7-5.7-9.6-.1-16.3 7-23.4Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/luna.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="m1346 688-1365-3.3s11.3-97 44.2-189.1c41-115.2 106.9-232 124.6-246.1 20.8-16.8-11.6-18.2 3.4-41.2 33.4-51.1 146.5-97.5 179.3-114.1C391 64.4 496.8 46.4 496.8 46.4L524 100s63.4 21.9 138.2 24.4c40.4 1.3 134-29.5 134-29.5L784.9 37s169 34.8 252.6 85.6c48.2 29.3 108.2 75 109.7 101.2 2.1 39.8 1.7 36.7 24 51.9 53.3 36.2 98.4 122 120.8 191.2 17.5 54.2 54 221.1 54 221.1Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M300.3 563.4C320.7 604 341 644.7 356 688c6.6 0 12 0 17.6-1l-4.2-11c-6.2-16.4-12.3-32.3-19.5-47.8a5867.5 5867.5 0 0 0-34.2-70.7c-9.3-19.2-18.7-38.3-27.8-57.5-3.9-8-6-16.9-1.3-25.8 6.7-12.8 12.5-26 18.3-39.2l5.2-11.8c11-24.4 24.4-47.6 37.9-70.9a972.6 972.6 0 0 0 30.5-55c8-16.3 5.5-24.5-12.1-30A48 48 0 0 0 356 265c-8.6-.7-17.2-1.2-25.8-1.7-26.3-1.5-52.7-3-78.4-10.8-7.9-2.4-16.1-3.7-24.4-5-8-1.3-16-2.6-23.7-4.9l-4.6-1.3c-14.7-4.2-29.9-8.6-41.3-20.3l1.8-2.4c1-1.3 1.8-2.5 2.7-3.5 25.4-28.7 58.7-47 92-65.1l20-11c20.1-11.5 41.2-21.4 62.2-31.4 8-3.7 15.9-7.4 23.7-11.3a391.7 391.7 0 0 1 61-24.8c10.6-3.1 21.3-5.6 32-8 7.8-1.9 15.6-3.7 23.3-5.7 20-5.3 23.7-4 28.9 15.7l9 34.2c9.6 35.4 19.1 70.8 26.7 106.6 8.7 40.7 14.4 82 17.2 123.5 1.5 23.6 4.1 47.2 6.8 70.7 3.6 32.2 7.2 64.3 8 96.7.5 20.8-.2 41.6-.9 62.4l-.8 29a434 434 0 0 1-3.3 40.2c-2 17-3.9 34-3.2 51.2 6.6 0 12.1 0 17.7-1.2l.6-16.2c.2-10.2.5-20 1.6-29.6 5.6-51 4.8-102 3.7-153-.8-33.6-3.6-67-8.4-100.2-2.5-17.6-3.5-35.2-4.5-52.8-1.3-23-2.6-46.1-7.4-69a1633 1633 0 0 1-6.6-34.2c-3.8-20.7-7.7-41.4-13-61.8-.2-1-.6-2-1-3-1.2-3-2.4-6 .6-8.9 4-3.8 9.1-2.7 14-1.4 41 11 82.7 13.9 125.1 10.6 31.5-2.4 62.6-5.8 91.5-19.5 8.6-4 15.4-1.5 17.3 9 1 5.6 1.7 11.2 2.4 16.9 1 7.9 2.1 15.8 3.8 23.4 7.8 34.8 9.9 70 12 105.2 1 16.1 2 32.2 3.4 48.3 1.2 12 2 24.2 2.8 36.3 1 14.6 2 29.1 3.6 43.7 6.3 60.7 4.7 121.5 2.7 182.3l-.7 20c-.7 18.4-1.4 36.7-1.4 55 5.7 0 10.3 0 15.3-1l.9-5.3c1-6.5 1.9-12.5 2-18.4l.3-44.7c0-28 .2-56.2 1.5-84.2 1.7-37 .7-74-3.1-111-2.7-26.2-4.5-52.4-6.3-78.7-1.7-24.1-3.4-48.3-5.7-72.4-4.5-46-10.5-92-20.4-137.3a2508 2508 0 0 1-13.8-68.7c-.5-2.4-.4-5-.4-7.4v-4c-.2-6.4 2.7-8.5 9.1-7.2a637.9 637.9 0 0 1 78.9 18.8c21 6.9 41.5 15 62 23l22 8.6a444.7 444.7 0 0 1 140.6 84.8 136 136 0 0 1 31.5 40.6c4.6 9.3-.3 19.2-9.5 21l-9.2 1.9c-22.6 4.4-45.2 9-67.3 15.7a250.5 250.5 0 0 0-92.5 50.8c-7.6 6.6-8.8 14.7-4.6 23.2 4 8 8.4 16 13.2 23.6a1769 1769 0 0 0 17.6 27.5c14.9 22.8 29.7 45.6 41.8 70 3.3 6.5 4 13-.2 18-9.4 10.8-16.8 22.9-24.2 35a360.5 360.5 0 0 1-16.9 25.7c-21 28.2-39 58.5-53.4 90.3-3.5 7.9-6.6 16-9.6 24.2-4.8 13-9.7 25.8-16.5 37.7 7.5 0 13.9 0 20.5-1a423 423 0 0 1 41.4-93c23-37.1 47.3-73.3 72-109.3 6.3-9 9.7-18.8 3.9-31-8-16.8-17.5-32.7-27-48.5l-.4-.7c-13.8-23-28.6-45.6-43.5-68-4.7-7.2-2.2-12 3-16.8a157.4 157.4 0 0 1 41.6-26.7 353.1 353.1 0 0 1 102.4-29.7c12.8-1.7 22.2.7 32 7.6 34.4 24.3 64.3 51 82.2 90.3l8.6 18.7a885 885 0 0 1 35.5 84c12.1 35.3 23.2 70.9 31.8 107.4 3.1 13.3 6 26.7 9 40 5.8 25.6 11.6 51.2 18.2 76.7 4.8 0 8.5 0 11.9-1a992 992 0 0 1-12.8-65c-4.6-27-9.3-54-16.8-80.4l-1.5-5.3c-6.6-23.2-13.2-46.4-21-69A883.4 883.4 0 0 0 1247 346c-18.1-34.7-45.6-61.4-77.4-84.9-1.5-1-3.2-1.9-5-2.8-6-3.1-12.7-6.5-9.7-16.8 5.2-17.6 1.8-33.7-13.6-46.3-3.5-3-6.5-6.3-9.6-9.7l-2.9-3.3c-41.3-45.3-95.5-72.5-151.3-97-36.3-15.9-74.3-28.1-112.2-40a328.3 328.3 0 0 0-72.7-15c-12.8-1-18 4.8-16.5 16.8.4 3 .8 6 1 9 .8 6.7 1.5 13.5 3.1 20 2.7 11.2-3.2 17.2-12 21.2a200.4 200.4 0 0 1-69.1 18.8c-52.7 3.3-105 .7-155.5-16.9-8.4-3-13.2-7.4-16.8-14.7-2.4-5-4.6-10.2-6.8-15.3-3.3-7.8-6.7-15.6-11-23-5.3-9.6-11.7-11.8-21.5-8.6-6.3 2-12.7 3.7-19.2 5C432.9 50.4 397.8 59 365 75a2335 2335 0 0 0-135.6 70.3c-30 17.2-59.8 34.8-82.3 61.3-6.2 7.3-7.5 14.5-2.6 22.2 4.3 6.5 4 11.5-2 17a139.2 139.2 0 0 0-22.6 30c-1.8 2.8-3.5 5.7-5.4 8.5-20.9 32-39.5 65.2-55.8 99.5A875.2 875.2 0 0 0 26.5 463l-1 2.8c-7.8 22-15.6 43.9-21.2 66.5-1.7 7.2-3.7 14.4-5.6 21.5a565 565 0 0 0-8.7 35.3c-6.7 32.9-12.2 66-17 98.9 6.6 0 12.1 0 18-1l7.8-46 6.3-36.6c11-63 32.5-123 56.8-182a839.1 839.1 0 0 1 90.7-160.9c4-5.6 8.9-7.2 15.6-7.8 16.3-1.5 31.5 2.9 46.6 7.2a241 241 0 0 0 23.5 6l15.6 2.8c27 5 53.8 10 81.5 11.4 2.8.2 5.7.2 8.7.2 8 0 16.4 0 25.1 3L361 298l-23.7 38.6a730.6 730.6 0 0 0-49.8 95.6c-5.9 13.2-11.7 26.3-18.1 39.1-3.8 7.6-5 14.6-1.8 22l1.3 3c6 14 11.9 27.8 18.6 41.4l12.9 25.8Zm475-452c5-2.6 10.4-5.4 11.2 3.7 1.8 10.6-5.3 14.2-11.4 17.3l-1.8 1c-17.5 9.2-36.8 14-56.6 16.2a434 434 0 0 1-144.6-5.8c-9.5-2.2-18.7-5.6-27.3-10-5.6-2.7-8-6.8-6.7-12.5 1.4-6 5.4-5 9.5-4 .7.3 1.5.5 2.3.6l19.3 3.8c16.5 3.3 33 6.6 49.7 9a291 291 0 0 0 103.5-2.9l.9-.1c18-3.8 35.8-7.5 52-16.2Z" fill="#000"/><path d="M199 688c3-35 7-69.8 11.1-104.7 3.6-29.7 4-60 17-88a38 38 0 0 1 3.8-6.7c2.3-3.1 5-6.8 9.5-5.2 5.2 1.7 3.5 6.4 2.7 9.9-7.8 32.1-13.1 64.8-17.4 97.5-4 31.5-6 63.3-9.2 96-5.6 1.2-11 1.2-17.5 1.2ZM1145.9 688c-9.8-36.3-12.8-73.7-23.3-109.7-6.2-21-9.8-42.8-17.9-63.4-1.6-4.2-.5-9 4-11.2 4.4-2.3 7.4 1.3 9.9 4.3a55.2 55.2 0 0 1 9.9 22.1c11.5 43.4 20.8 87.4 27.6 131.7 1.2 8 1.2 16 1.9 25.2-3.5 1-7.3 1-12.1 1Z" fill="#000"/></g><g transform="translate(266 207)"><path d="M401.3 246.7c8.1-5.9 18.5-6.8 20.8-19.3 1.3-7.2 9.5.4 14.5-1.3-8.3-22.8-3.5-31.4 17.3-31.1 11.8-21 14.1-22 30.3-10.7 5.3-8.2 2.6-17.4 3-26 .6-8.9 0-18 1-26.7.8-5.4 3.5-11 10-12.1 6-1 10 2.1 13.9 6.8 7.3 9 18.6 14 23.4 29.2 8-24.7-7.1-49.2 14.3-67.2l32.8 25c3.6-7.3 1.2-15 1.7-22.1.4-6.8 0-13.7.4-20.5.2-4.3 1.2-9 6-10.3 4-1.1 5.5 3.1 8 5.4 15 14 29.5 28.6 39.4 47.7V86c-.2-5.1 1-10.2 3.2-14.8 4-8 8.6-9.6 15.7-3.2 13 11.9 24.8 24.5 29.3 42.2.7 3.8 3.2 6.9 6.8 8.4 3.7-14.4-2.2-26.8-6.2-39.4-3.3-10.5-4.7-20.4 2.6-30.3 5.1-6.9 10-7.3 13.7-.4 9 16.6 31.4 17 40 33.7 20.7 1.5 29.8 16.7 38.6 32.3 3 5.2 4.5 11.2 4 17.2-.6 8.2 2 15.8 5.1 23.6 3-10.1 12.8-17.8 6.3-31.7 10.1 3.2 14.7 7.6 16.7 14.2 2.7 9 10.2 15.7 12 25.2a7 7 0 0 0 4.1 4.5c31.4 9 36.5 35 40.3 62 3.4 24.4-7.1 45.8-14 68-1.3 4.4-3 8.7-5.4 16 7-4.4 12.3-6.6 16.2-10.4 7-6.9 12-4.3 16.6 2.4 7.6 11.3 5 24 3.4 36-1 8.1 17.1 49.6-14.4 89.5-8.9 11.2-19 17-25.8 28-2.8 4.6-7.8 2.2-9.7-2.6-1.9-4.7-4.2-9.8-4.2-14.7.5-37-15.6-66-43.3-89.4-1-.8-2.7-1.4-2.9-2.4-3.5-19-18.4-14.1-31-15.6-18.4-2.1-37-5.2-50.1-20.6-3.3-3.8-7-4-11.2-4.8-23.3-4.2-46.4 27.3-62.4 9.4C616.8 301 599 300.1 579 303c-23.2 3.2-41.8 16.8-60.8 28.3-19.1 11.6-104 41.6-114.4 124.4a62 62 0 0 0 4 31c4.3 10.5 4.7 21.6 8.5 32 4.3 11.7.2 23.2-6.7 32.6-6 8.4-10 17.7-14.8 26.6-2.2 4.4-4.5 9.3-9.6 8.8-6-.6-7.5-6-8-11.5-2-24.2-6.5-47.8-20.2-68.7-4.1-6.3-7.6-13.4-12.9-18.7-11.4-11.5-13.9-26-15.3-40.8-3.5-36.1 7.2-69 19.6-102.6 13-35 35-64.5 53-97.6Z" fill="#000"/></g><g transform="translate(791 871)"><path d="M153.6 87c7.4-.8 15.8 2 22.6-5.6-18-2.4-34.8-5.5-54.2.3 10.7 7.3 20 7.4 31.6 5.4Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M148.3 98.9c3.5-.2 7-.5 10.5-.5l6.3-1.7c3.8-1.2 7.3-2.2 10.8-2.5 8.7-.7 15.7-3.7 15.9-13 .1-8.8-6.9-13-14.9-15-19-5-38-2.5-56.7 1.6-6.2 1.4-12 5.7-12.3 13.2-.3 7.4 5 11 11 14.1 9.3 5 19.2 4.4 29.4 3.8Zm11.3-12c-2 0-4 0-6 .2-11.7 2-20.9 1.9-31.6-5.4 17.9-5.4 33.6-3.2 50-.9l4.2.6c-5 5.6-11 5.6-16.6 5.5Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><g fill="#000"><path d="M75.1 117.2c3.9 16.3 7.4 31.6 11.2 46.7 5 19.6 2.1 28.4-15.7 35.9-20 8.2-45.5 7-59.6-15.5-2.2-3.5-3.6-6.6-3-10.6.7-3.2 1.9-5.7 5.4-6.3 3.7-.6 5 1.5 6.4 4.6 9.4 19.7 23.7 25.2 43.7 17.1 10.1-4 13.3-11.8 10-21.6a292 292 0 0 1-13.5-67c-1.5-14.8-4.2-30.2 5.7-43.3h4l5.4 60Z"/><path d="M31.5 177.5c-5.7-8.1 0-10.7 5.5-12.3 4-1.2 8.2 1 7.9 5.6-.5 8-6.1 8.8-13.4 6.7Z"/></g></g><g transform="translate(610 680)"><path d="M407.4 122.5c13 .3 25.4 1.1 37.6 2.5 3 .4 5 3.3 5 6.7 0 3.3-1.7 5.6-4.7 7-11.2 4.8-22 8.2-33.7.2-6.5-4.5-9-8.7-4.2-16.4ZM247.6 117c7 0 7.8 3.8 7 8.5-2 10.2-20 22.4-30.4 20.5-5.9-1-10.5-4-10.7-10.5-.2-6.7 4.8-8.2 10.3-8.4 9-.3 15.8-5.2 23.8-10ZM215.1 76.6c5-12 9-29.4 24.1-22.5 20.7 9.4 13.9 30.7 9.7 47.4-1.6 6.3-14.5 15.9-18.3 14.3-16.3-6.8-19.2-21.7-15.5-39.2ZM442 113.4c-8.6 7.5-17 7.6-22.2-1.5-9-16-8.6-32.8 3.3-47.2 2.5-3 13.8-3.6 16.3-1 14 15 14.6 31.8 2.6 49.7Z" fill="#000"/></g><g transform="translate(610 680)"></g><g transform="translate(774 657)"><path d="M131.2 43.2c-5.6 16.8-6.6 15.4-23 11.6-26.2-6-52.7-19.2-80.3-4.3-2 1.1-5 1-7.6.8-3.6-.2-8.2 1.3-10.1-3.3-2.1-5 1.5-8.3 5.3-10.3C35.2 27.7 53 13.4 77.9 16c12.8 1.3 26-2.8 39.3-2.4 18.8.7 22.4 5.7 16 23.9l-2 5.8ZM298.7 21.8c9.6 6.6 12.5 16.8 18.3 25a7 7 0 0 1-.6 9.4c-2.4 2.7-5.4 2.8-8.1 1.2-19.1-11-38.9-6.4-58-1.2-10.2 2.7-14.6-.8-17.2-9.2-1.7-5.7-2.9-11.5-3.6-17.4-1.3-9.8 6.9-11.9 13-12.2 18.5-.9 37.4-4.5 56.2 4.4Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/max.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="m1351 688-1370-3.3s11.4-97 44.4-189.1c41.2-115.2 107.2-232 125-246.1 20.9-16.8-11.6-18.2 3.5-41.2 33.5-51.1 147-97.5 179.9-114.1 58.7-29.8 164.9-47.8 164.9-47.8l27.2 53.5s63.6 21.9 138.7 24.4C705 125.6 799 94.8 799 94.8L787.9 37s169.6 34.8 253.5 85.6c48.3 29.3 108.6 75 110 101.2 2.2 39.8 1.8 36.7 24.1 51.9 53.5 36.2 98.8 122 121.3 191.2C1314.4 521.1 1351 688 1351 688Z" fill="#fff"/><path d="m842 687-269 1s19-182.5-1.4-325c-6.2-44.2-32.6-224.4-32.6-224.4s73.7 24.7 131.4 24.7C733 163.3 798 131 798 131s24.3 69 29 182.4l15 373.6Z" fill="#000"/><path fill-rule="evenodd" clip-rule="evenodd" d="M301.5 563.4c20.5 40.6 41 81.3 56 124.6 6.6 0 12 0 17.7-1l-4.3-11a672.5 672.5 0 0 0-19.6-47.8 5876 5876 0 0 0-34.2-70.7c-9.4-19.2-18.8-38.3-28-57.5-3.8-8-6-16.9-1.3-25.8 6.7-12.8 12.6-26 18.4-39.2l5.2-11.8c11-24.4 24.5-47.6 38-70.9 10.6-18.1 21.2-36.3 30.6-55 8-16.3 5.6-24.5-12-30a48.4 48.4 0 0 0-10.5-2.3c-8.6-.7-17.2-1.2-25.9-1.7-26.4-1.5-52.9-3-78.6-10.8-8-2.4-16.3-3.7-24.6-5-8-1.3-16-2.6-23.8-4.9l-4.6-1.3c-14.8-4.2-30-8.6-41.4-20.3l1.7-2.4c1-1.3 1.8-2.5 2.8-3.5 25.5-28.7 59-47 92.3-65.1l20-11a963.1 963.1 0 0 1 62.6-31.4c7.9-3.7 15.8-7.4 23.7-11.3A394 394 0 0 1 423 71.5c10.6-3.1 21.4-5.6 32.2-8 7.8-1.9 15.6-3.7 23.3-5.7 20.1-5.3 23.8-4 29 15.7l9.1 34.2a2051 2051 0 0 1 26.8 106.6c8.7 40.7 14.4 82 17.2 123.5a1480 1480 0 0 0 6.8 70.7c3.7 32.2 7.3 64.3 8 96.7.5 20.8-.1 41.6-.8 62.4l-.8 29c-.3 13.5-1.8 26.9-3.3 40.2-2 17-4 34-3.3 51.2 6.7 0 12.2 0 17.8-1.2l.6-16.2c.2-10.2.5-20 1.6-29.6 5.7-51 4.8-102 3.7-153-.7-33.6-3.6-67-8.4-100.2a605.8 605.8 0 0 1-4.6-52.8c-1.3-23-2.6-46.1-7.3-69a1627 1627 0 0 1-6.7-34.2 906 906 0 0 0-13-61.8c-.2-1-.6-2-1-3-1.2-3-2.5-6 .6-8.9 4-3.8 9.1-2.7 14-1.4A373 373 0 0 0 690 167.3c31.6-2.4 62.8-5.8 91.8-19.5 8.7-4 15.5-1.5 17.4 9 1 5.6 1.7 11.2 2.4 16.9 1 7.9 2.1 15.8 3.8 23.4 7.8 34.8 10 70 12 105.2 1 16.1 2 32.2 3.5 48.3 1.1 12 2 24.2 2.8 36.3 1 14.6 2 29.1 3.6 43.7 6.3 60.7 4.7 121.5 2.7 182.3l-.7 20c-.7 18.4-1.4 36.7-1.4 55 5.8 0 10.4 0 15.4-1l.8-5.3c1-6.5 2-12.5 2-18.4l.3-44.7c.1-28 .3-56.2 1.6-84.2 1.7-37 .6-74-3.2-111-2.7-26.2-4.5-52.4-6.3-78.7-1.7-24.1-3.4-48.3-5.7-72.4-4.5-46-10.5-92-20.5-137.3a2499.2 2499.2 0 0 1-13.8-68.7c-.5-2.4-.4-5-.4-7.4v-4c-.3-6.4 2.7-8.5 9.1-7.2a642.2 642.2 0 0 1 79.2 18.8c21 6.9 41.7 15 62.3 23 7.3 3 14.7 5.8 22 8.6a446.7 446.7 0 0 1 141 84.8c13 11.7 24.1 25.1 31.8 40.6 4.5 9.3-.3 19.2-9.6 21l-9.2 1.9c-22.7 4.4-45.4 9-67.6 15.7a251.6 251.6 0 0 0-92.9 50.8c-7.6 6.6-8.7 14.7-4.5 23.2 4 8 8.4 16 13.2 23.6 5.8 9.2 11.7 18.4 17.7 27.5a705.7 705.7 0 0 1 42 70c3.2 6.5 4 13-.3 18-9.4 10.8-16.8 22.9-24.3 35a360.3 360.3 0 0 1-16.9 25.7 486 486 0 0 0-53.6 90.3c-3.6 7.9-6.6 16-9.7 24.2-4.8 13-9.7 25.8-16.5 37.7 7.5 0 14 0 20.6-1 10.7-33 23.5-64.2 41.5-93 23-37.1 47.5-73.3 72.3-109.3 6.3-9 9.7-18.8 3.8-31a589 589 0 0 0-27-48.5l-.4-.7c-13.9-23-28.7-45.6-43.7-68-4.7-7.2-2.2-12 3-16.8a158.1 158.1 0 0 1 41.7-26.7 355.4 355.4 0 0 1 102.9-29.7c12.8-1.7 22.3.7 32 7.6 34.6 24.3 64.6 51 82.6 90.3l8.7 18.7c12.8 27.6 25.6 55.2 35.5 84a1107 1107 0 0 1 41 147.4c5.8 25.6 11.6 51.2 18.2 76.7 4.9 0 8.6 0 12-1-5.3-21.6-9-43.3-12.8-65-4.7-27-9.4-54-17-80.4l-1.4-5.3c-6.6-23.2-13.2-46.4-21.1-69a882 882 0 0 0-52-121.3c-18.2-34.7-45.8-61.4-77.7-84.9-1.4-1-3.2-1.9-5-2.8-6-3.1-12.7-6.5-9.7-16.8 5.2-17.6 1.8-33.7-13.7-46.3a86.8 86.8 0 0 1-9.6-9.7l-3-3.3c-41.4-45.3-95.8-72.5-151.8-97-36.4-15.9-74.5-28.1-112.6-40-23.7-7.3-48-13.2-73-15-12.7-1-18 4.8-16.5 16.8.4 3 .8 6 1 9 .8 6.7 1.5 13.5 3.1 20 2.8 11.2-3.2 17.2-12 21.2-22 9.8-45.4 17.3-69.4 18.8-52.8 3.3-105.4.7-156-16.9-8.5-3-13.3-7.4-16.9-14.7-2.5-5-4.7-10.2-6.8-15.3a224 224 0 0 0-11-23c-5.4-9.6-11.8-11.8-21.6-8.6-6.4 2-12.8 3.7-19.3 5C434.6 50.4 399.3 59 366.5 75c-46 22.4-91.7 45.1-136 70.3-30.3 17.2-60 34.8-82.7 61.3-6.2 7.3-7.5 14.5-2.5 22.2 4.2 6.5 3.9 11.5-2 17a139.2 139.2 0 0 0-22.8 30c-1.8 2.8-3.5 5.7-5.4 8.5-21 32-39.7 65.2-56 99.5A873.4 873.4 0 0 0 26.7 463l-1 2.8c-7.9 22-15.7 43.9-21.3 66.5a925 925 0 0 1-5.6 21.5 563.4 563.4 0 0 0-8.8 35.3c-6.6 32.9-12.2 66-17 98.9 6.7 0 12.1 0 18-1l8-46c2-12.3 4-24.5 6.2-36.6 11-63 32.6-123 57-182a838.3 838.3 0 0 1 91-160.9c4-5.6 9-7.2 15.7-7.8 16.4-1.5 31.6 2.9 46.8 7.2 7.8 2.3 15.6 4.5 23.5 6l15.7 2.8c27 5 54 10 81.8 11.4 2.9.2 5.8.2 8.7.2 8.1 0 16.5 0 25.3 3l-8.4 13.6-23.8 38.6a729.7 729.7 0 0 0-50 95.6 948.5 948.5 0 0 1-18.2 39.1c-3.8 7.6-4.9 14.6-1.7 22l1.3 3c6 14 11.9 27.8 18.6 41.4l13 25.8Zm476.8-452c4.8-2.6 10.3-5.4 11.2 3.7 1.8 10.6-5.4 14.2-11.5 17.3l-1.8 1c-17.5 9.2-37 14-56.8 16.2a437 437 0 0 1-145.1-5.8c-9.6-2.2-18.8-5.6-27.4-10-5.6-2.7-8.1-6.8-6.8-12.5 1.5-6 5.5-5 9.5-4l2.4.6 19.4 3.8c16.5 3.3 33.1 6.6 49.9 9a293 293 0 0 0 103.8-2.9l1-.1c18-3.8 35.8-7.5 52.2-16.2Z" fill="#000"/><path d="M199 688c3-35 7-69.8 11.4-104.7 3.6-29.7 4-60 17.4-88 1-2.4 2.3-4.6 3.8-6.7 2.3-3.1 5-6.8 9.7-5.2 5.3 1.7 3.6 6.4 2.7 9.9-8 32.1-13.3 64.8-17.7 97.5-4.1 31.5-6.2 63.3-9.4 96-5.8 1.2-11.2 1.2-18 1.2ZM1149.9 688c-9.8-36.3-12.8-73.7-23.3-109.7-6.2-21-9.8-42.8-17.9-63.4-1.6-4.2-.5-9 4-11.2 4.4-2.3 7.4 1.3 9.9 4.3a55.4 55.4 0 0 1 9.9 22.1c11.5 43.4 20.8 87.4 27.6 131.7 1.2 8 1.2 16 1.9 25.2-3.5 1-7.3 1-12.1 1Z" fill="#000"/><path fill-rule="evenodd" clip-rule="evenodd" d="M797.4 536.7c2.5 2.7 5 5.4 6.9 8.6 2 4 2.8 10-1 13.3-2.5 1-5 0-7.2-1l-.7-.3a96 96 0 0 1-12.4-7 586 586 0 0 1-52.4-40.1 1501.4 1501.4 0 0 1-53-46.5c-10.3-9.3-20.6-18.7-30.8-28.2a281.8 281.8 0 0 1-14.7-15 30.6 30.6 0 0 1-6-8.4c-6.4-17.8 7.6-21.9 22.8-24.4 10.9-1.8 22-3 33-4.2h.8a57.7 57.7 0 0 0 13.7-2.8c1-.4 1-.5 1.3-1v-.3a68.3 68.3 0 0 0-9.4-18 610 610 0 0 0-44.6-55.6 7452 7452 0 0 0-19.3-22l-2-2.3c-4.7-5.2-9.4-10.4-6.5-17.8 1.4-4.6 5.8-2.4 8.7-.6a163 163 0 0 1 11.2 7.2h.1a971.7 971.7 0 0 1 37.6 27.2 589.2 589.2 0 0 1 74.4 64 592.2 592.2 0 0 1 24.6 21.4c2.9 2.7 5.7 5.3 7.7 8.6 3.5 5.7 2 13-4 16.5a71.5 71.5 0 0 1-24.3 6.5c-8.8 1.2-17.8 2-26.7 2.7l-8.5.7c-8.3.7-16.9 1.5-22.6 3.5-.8.3-1.6.7-2.3 1.2 1.4 2.6 2.1 3.6 3.4 5.3l2.5 3.4c11 14.4 23.7 27.5 36.3 40.6A7081.6 7081.6 0 0 1 751 489c10.9 11 21.8 22 32.6 33.2l1.5 1.6 11 11.4 1.4 1.4Zm-116.6-85.3 8 7.2c15.7 14.2 31.7 28.2 48 41.8a575.5 575.5 0 0 0 44.2 34.1l-24-24.3c-14.5-14.7-29-29.4-43.3-44.5-6.8-7.3-13.3-15-19.4-22.9-.6-1-1.3-1.8-2-2.7-2.2-3.2-4.6-6.5-6-10.1-2.8-6.7-2.8-17.4 5.7-20.2a64.4 64.4 0 0 1 16.8-2.6l15.8-1.3 14-1.1 2-.2c11-1 27-2.6 34.1-7.2-5-5.7-14-13.4-22.3-20.6l-10.6-9.3a3562 3562 0 0 1-27.4-24.7c-8.3-5.8-16.5-11.8-24.6-18a1554.7 1554.7 0 0 0-44-32.8c9.5 10.9 19 21.9 28.1 33.2l3.9 5c11 14 26.3 33.5 27.3 49.1.2 5.8-1.4 12.3-7.3 15.1-4.8 1.9-10 2.4-15 2.9l-5.3.6a488 488 0 0 0-32.7 4.5c-4 .7-7.2 1.4-11.2 3.7 7 8.7 30.7 30.3 47.2 45.3Z" fill="#fff"/></g><g transform="translate(266 207)"><path d="M653 303.5a178 178 0 0 0-130 3.8c-20 8-40.4 15-57.8 28.5-21.5 16.8-35.9 39.1-49.2 62.3-13 22.8-19.8 47.8-26.9 72.7-6.3 22-2.6 11.8-1.2 33.7 1.1 18.5 1 36.4-4.1 54.3-1.2 4-3.3 6.7-7.8 8.7-9.4-14.5-10.7-32-17.9-47.2-6.8-14.6-14.3-29.1-27.7-37.1-19.3-11.4-21-28.5-20.7-47 .4-33.2 0-66.6 9-98.8 3.7-13.7 12-26 17.5-39.2 13.3-32 36.5-55.7 62.7-77 15.2-12.2 20-12.1 36.5-2.5 5.1-5 2-9.9-1.5-13-7.6-6.8-5.4-12.6.5-18.3 8.6-8.5 16.2-19.3 31.4-14.4 4 1.2 7.6-3.2 11.3-5 18.1-8.8 36.3-18.5 57.3-5 7.3-20.4 23.6-24.8 41.8-27.3 30.6-4 61.3-3.3 92-2.7 12.6.3 17.4 5.8 17.7 18.3.2 4.6 0 9.2 0 15.6 10-4 13.9-11.6 16-19 3.4-13.2 10-19 24.4-18.3 13.1.7 26.1 3.5 38.5 8.1 23.8 8.7 49.5 12.5 71 27.4a43 43 0 0 1 15.6 19.2c7.7 17.4 21.7 33.2 13.8 54.9 7.9-9.8 3.7-20.5 3.8-31.6 11 2.8 10.4 12.4 12.7 19.1a37.8 37.8 0 0 1 1 20.2c-4.5 18 4.7 32.4 10.7 47.9 5 12.5 3.6 25.9.4 38.8-9.7 39.1-25.5 76-44.2 111.6-3 6-8.1 10.7-9.3 17.8-.4 2.4-2 4.7-5.5 3.9-3-.8-5-2.8-4.3-5.5 9.2-33-11.7-59.8-19.2-89.3a176 176 0 0 1-6.7-52.9c.5-9.1-3-12.7-12.4-13.5-40-3.5-76.2 19.4-114 5.8-8-2.9-16.1-5.1-25.1-8Z" fill="#000"/></g><g transform="translate(791 871)"><path d="M101.4 93.5c-2.6-12.2-2.9-25.4-21.6-18.7-2.6.9-5-3.7-3.1-6.7 4.4-7 10.7-11.9 19.6-10.9 10.6 1.3 20.9 10.6 20 19.5-.7 8.1-2 17.4-14.9 16.8Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><g fill="#000"><path d="M75.1 117.2c3.9 16.3 7.4 31.6 11.2 46.7 5 19.6 2.1 28.4-15.7 35.9-20 8.2-45.5 7-59.6-15.5-2.2-3.5-3.6-6.6-3-10.6.7-3.2 1.9-5.7 5.4-6.3 3.7-.6 5 1.5 6.4 4.6 9.4 19.7 23.7 25.2 43.7 17.1 10.1-4 13.3-11.8 10-21.6a292 292 0 0 1-13.5-67c-1.5-14.8-4.2-30.2 5.7-43.3h4l5.4 60Z"/><path d="M31.5 177.5c-5.7-8.1 0-10.7 5.5-12.3 4-1.2 8.2 1 7.9 5.6-.5 8-6.1 8.8-13.4 6.7Z"/></g></g><g transform="translate(610 680)"><path d="M419.6 111c-4.2-9.5-9.9-15.2-19.8-15.7-6-.3-7-5.1-8.9-9.8 2-1.5 3.5-3.7 5.3-3.8 21.1-1.7 42.4-1.8 63.5-.1 6 .4 9.3 8 3.2 10.4-10 4-12.5 13.2-18.5 19.8-8.2 9-15.2 9.1-24.8-.8ZM228.6 81.4c12.2.7 23.1 1 34 2 3.6.3 8 1.8 8 6.7 0 5.6-4.6 5.2-8.3 5.1-6.3 0-9.7 2.7-12.5 8.6-3.4 7.4-6.9 15.3-18 14.8-10.5-.5-15.1-7.2-18.1-15.2-2.2-5.7-5-8.4-11-8.2-3.4.1-7.1-.2-7.5-4.9-.4-5 3-6 7-7.2a67.9 67.9 0 0 1 26.4-1.7Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M401.2 30c17.6.1 34.2-.2 50.6.5 9.6.4 19.2 2.3 28.7 3.8 3.4.6 6.2 2.3 7.5 6.1 8.7 25.6 12.5 51.2 1.5 77.2-5.7 13.7-14.6 21-30.8 21.2-26.3.3-52.7 2.5-79.1 2.2-17.3-.1-24.9-5.4-29.4-21.8C347 107 339.6 96 340 82.6c.3-7.3-6.8-8-12.2-8.6-9-1-15.7 2.5-19.6 10.8-2 4.4-1.8 9.2-1.8 13.9 0 14.5-6.9 26.2-15.8 36.6-10.8 12.7-25.9 8.5-39.6 7.5-22.8-1.6-45.6-4.5-68.4-6.4-12.7-1-23-7.7-23-20.4-.3-27.4-15.2-38.4-39.6-45.7-26.6-8-51.9-20.6-77.8-31-9.7-4-21-5.1-27.4-17.2 12.3-2.3 23.3 2 33.4 7a702 702 0 0 0 97 37.1c5.3 1.7 8.3-.4 10.4-4.5 2-4.2 3.2-8.8 5.3-12.9 9.5-18 24.6-24.3 47.4-21.2 22.2 3 44.4 6.4 67 7.4 25 1.2 30.1 7 32.3 28.6 10.5-.8 21-5 32-1.6 3.4 1 5.3-4 6.4-7 8-22.1 26.6-25 46.4-25.3 2.6 0 5.1 0 8.8.2Z" fill="#000"/></g><g transform="translate(774 657)"><path d="M56.8 30.9c9.5-10.6 21.8-16.2 31.6-25C93 1.8 98 3 101.8 7.5c3.8 4.3 7.3 8.3 2.7 14.5a83 83 0 0 1-42.7 28.3C47.4 55 32 56.5 17 59.3c-4.5.9-10.2 3.3-11.5-3.6-1.2-6.6 3.2-10 9.5-11.2 14.2-2.8 28.4-5.2 41.8-13.6ZM289.9 29c11.3 2 18 11 27.8 14.2 3.8 1.2 8.4 4.7 6.6 9.5-2.1 5.8-8 4.3-12.2 3a450.2 450.2 0 0 1-39.2-14.5c-12.8-5.6-25.1-12.4-37.4-19-6-3.2-11.6-7.8-7.4-15.2 4.2-7.3 11-9.5 18.3-3.7C259.4 13.8 275 19.8 290 29Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/mia.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="M1303 692 16 688.7S53.5 481.5 111 360C236.9 93.7 489.4 44.3 511.3 56.7c32 18 62.3 40.7 151.4 40.7 91.1 0 148.8-39.5 148.8-39.5s135.3 32.3 200.6 69.5c83.1 47.4 177 187 220.2 295.9 46 115.6 70.7 268.7 70.7 268.7Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M1296.8 692c-6.3-26-11.8-51.9-17.3-77.9l-8.4-39c-8-36.6-18.6-72.3-30-107.6a678.2 678.2 0 0 0-42.1-102.8l-7-13.7a802.4 802.4 0 0 0-27.6-50.7c-27.4-45.3-58.1-88.3-97-124a334.8 334.8 0 0 0-102.4-65c-7-2.8-13.8-6-20.7-9.1-7.9-3.7-15.8-7.3-24-10.5-10.6-4-14.4-.7-18.8 7.3-8 14.7-18 28-32.9 36-40.3 21.6-82.3 33.2-126.5 13.6a138 138 0 0 1-48.6-35.4c-6-7-12.2-8.3-20.5-9.5-22-3.3-36.7 4.7-49 23.1-16.3 24.2-42.3 33.2-69.5 35.8a146.6 146.6 0 0 1-108-31.8A203.2 203.2 0 0 1 402 86.5l-9.7 4.5c-6.9 3.1-13.6 6.2-19.8 10-9.6 6-19.7 11-29.8 16a347.3 347.3 0 0 0-34 18.9 454.4 454.4 0 0 0-85.4 73.7 604 604 0 0 0-86.3 122.8 869 869 0 0 0-50 108.1 1216.5 1216.5 0 0 0-34 102 562 562 0 0 0-20.2 102.2c-.6 6.8-2.1 13.6-3.7 20.4-1.9 8.3-3.8 16.8-4.1 25.8-5.5 1-10.6 1-16.9 1 4.5-32.9 9.7-66 16-98.8 2.3-12 5.3-23.7 8.3-35.4l5.3-21.5c5.2-22.6 12.6-44.6 20-66.6l.9-2.7a836.3 836.3 0 0 1 83-179c17-27.2 36-53 57.1-77 37.3-43 79.1-80.3 130-105.9l10.8-5.4c36-18.2 72-36.4 112-44.2 11.1-2.1 22.2-4.6 33-7.6 12.7-3.5 15.2-9.1 10.3-21.1l-1-2.2c-.7-1.6-1.4-3.3-1.7-5v-.4c-.6-3.6-1.2-7.8 3.8-8.9 4.3-1 5.5 1.6 7 5l.6 1.1c1.6 3.2 3 6.5 4.5 9.7 4.8 10.8 9.6 21.7 18.6 30.6a101 101 0 0 0 59.7 27.2l5.3.7c24.8 3.3 49.7 6.7 75 5.4 35.3-1.8 70.2-5.5 104-16.5 5.2-1.7 9.7-4.8 14-8.3 7-5.8 6.5-10.6.5-16.8-8.9-9.2-11-20.6-10.3-32.6 4-1.5 7-.5 7.6 1.8 7 30.4 29.6 36 55.8 39 33.8 3.8 66.1 14.3 98.5 25 25.4 8.5 48.3 21.6 71.2 34.6l18.6 10.5c25 13.8 47.2 32.1 66.9 53.2 22.7 24.3 43.9 50 62.4 77.6 16.1 24 31.5 48.6 45 74.5a1007.4 1007.4 0 0 1 86.5 242c5.6 25.4 9.8 51.3 14.1 77.5 2.2 13.2 4.3 26.4 6.7 39.7-3.2.9-6.7.9-11.2.9ZM573 143a83.8 83.8 0 0 0 49.7-37.7 17 17 0 0 0-9.2-3.5l-2.8-.5a470 470 0 0 0-19.9-3.9c-27-4.8-54-9.7-74-32.8-1.3-1.5-4.6-1.7-7-1.8-27.5-.5-53.4 6.9-79.4 14.3l-11.2 3.2c.8 5.6 2.6 9 5.8 12.2a224 224 0 0 0 39.6 32.5c32.9 21 67.9 30.7 108.4 18Zm224 .3c-31.6 4.3-57.1-9-81-27.6-1.6-1.7-3.3-3-4.9-4.2-3-2.4-5.7-4.5-6.9-8.4 10.1-3.8 20.6-5.8 31.1-7.9 11.2-2.1 22.4-4.3 33-8.6l5.4-1.8c4.3-1.4 8.7-2.8 11.8-5.8 16.7-16.2 36.2-15.6 56.2-10.6 13 3.3 26 7 39.5 11l19 5.6-5.6 6.5c-14.1 16.6-26.6 31.3-46.9 38.5-16.7 6-33.2 11-50.7 13.3Z" fill="#000"/><path d="M1115.6 692c-9.1-36.9-12.1-74.7-22-111.2-7.7-28.1-13.9-56.8-23.8-84-7-19.4-13.7-39-23-57.8-12.7-25-23.1-51.2-34.4-77-1.3-3-2.9-6.3 1.3-8.8 4.3-2.6 7.4-.5 9.8 2.6 3.8 5 7.8 10.2 10.6 15.9 10 20.4 19.4 41.1 29.1 61.6A612.7 612.7 0 0 1 1097 529c9 31.6 17.5 63.6 21.5 96.6 2.6 21.4 7 42.7 8.6 65.4-3.3 1-6.8 1-11.4 1ZM221.2 692c-.6-3 .4-5.8.4-8.7 0-49.6 9.6-98 16.6-146.7 5-35 13.3-69 22.5-102.9a253.5 253.5 0 0 1 31.6-69c2.3-3.6 4-10 10-6.9 6.1 3.2 3.2 9 1.4 13.6-7.2 17.6-15.9 34.7-21.8 52.7a748.3 748.3 0 0 0-31 138.7c-1 8.5-2.7 16.8-4.9 25-7.4 28.5-3.8 58.4-10.9 87-1.1 4.7.3 10.1.3 16.2-4.5 1-8.9 1-14.2 1Z" fill="#000"/><path fill-rule="evenodd" clip-rule="evenodd" d="M645.9 165.5c-9 6.6-10.5 15.7-3.6 28.3l4 2.7c2.3 1.5 4.3 3 6.5 3.6 9.5 3 17-2 21.6-9.1 4.7-7 5.5-16.9-1.9-22-7.3-5.1-16.6-10.9-26.6-3.5Zm5.4 17.4Zm0 0c3.8 2.8 7.6 3.4 10.9-.5a3.4 3.4 0 0 0-1.2-5.3c-4.4-1.6-9.2-2.6-9.7 5.8Z" fill="#000"/></g><g transform="translate(266 207)"><path d="M927 341a122 122 0 0 1 .7 98.3c-12.7 29.6-25.3 59.3-36.6 89.5-13.4 35.6-7.7 69.6 10 103 21 39.5 44.8 77.8 58.2 121.1 13 42.5 18.3 85.5.5 127.2-15.2 35.9-33.6 70.5-71 89.8a131 131 0 0 1-94 10.5c-36-8.5-62.3-31.3-88.6-55a723 723 0 0 0-47.4-40.2c-12.6-9.6-20.4-22.8-30.4-34.3-1.6-1.8-1.9-3.9-.5-5.8 1.3-2 3.3-1.8 5.6-1.3 52.1 13 86.3-14 116.2-51.6 30.7-38.6 49.2-83 62-129.9A519.9 519.9 0 0 0 830.5 492c-2-29.8-6.4-59.7-14.4-89-8.6-31-19.8-60.2-38.2-86.7-6.4-9-14.7-16.1-21.9-25.6a346.7 346.7 0 0 1-57.6 49.3 606.7 606.7 0 0 1-135.2 71.5c-42.6 16.7-88 21.7-131.2 35.4a61.5 61.5 0 0 0-35.1 27.9 108.5 108.5 0 0 0-13.9 76.1c1 5.2 2.9 11.5-4.2 12.4-6.5.8-5.2-6.2-6.4-10.5-4.8-17.5-8.2-35.4-15-52.4-7.6-19-31.8-33.4-49-28a35.8 35.8 0 0 0-22.3 23.1 184.5 184.5 0 0 0-11.6 89.8c2.7 20.7 14.1 36.7 25.7 52.8 15.8 22.2 26 25 51.8 17.5 8.5-2.6 12.4-8.3 16.3-15 1.6-2.9 3.6-6.4 7.6-5.6 3.9.6 7 3.6 8 7.5 8 36.4 20.3 71.8 21.5 109.7 1.7 55.6-47 106.3-99.5 107.2-33 .6-65-4-97.3-9a182 182 0 0 0-67.2 2.4c-23.9 5.3-47 11.6-66.6 27.1-5.3 4.2-9.6 2.1-13.2-4-19.8-33.4-38.4-67.2-48.6-105C0 722.2-6 674 7.9 623.8c5.5-20 10.2-40 19.4-58.6 16.8-34 39-63.4 70.6-85 35-24 70.2-47.6 105.2-71.5 29-19.7 51-46 70-75 34.5-52.6 73.8-101 123.7-139.5 34.7-27 72.5-49.4 115.6-59.8 30.6-7.6 62.4-9 93.6-4.1 23.6 3.6 46.5 8.4 67.3 20.3 12.4 7.1 25.2 14.1 36 23.3a120.7 120.7 0 0 0 41 21.1c40 13.3 76.7 32.1 109.4 58.6 29 23.5 54 50.4 67.3 87.3Z" fill="#000"/></g><g transform="translate(791 871)"><path d="M182.3 95.7c-29.2 14-65.1 3-84.2-16-2.3-2.3-3.8-5.6-5.3-8.6-1-2.3-1.6-5 .7-7.1 2.2-2.1 4.7-1.8 7.1-.7 2.6 1.3 5.6 2.5 7.5 4.5 12.1 13 28 16.4 44.7 19C162 88 169 82.3 177 80.2c5.3-1.4 11-9 15-.7 3.3 6.8-1.3 12.9-9.7 16ZM66.6 57.4C71 45.2 80.3 40.6 90.8 37.9c5-1.3 10.8-1.7 13 4.3 2.4 7-3.2 10.9-8.3 12-7.3 1.4-12 4.6-15.4 11.2-2.2 4.3-5.7 9.7-11.7 7-7.2-3-3.8-9-1.8-15Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><path d="M68.7 106.5c6.5 23.1 15 44 30.2 62.1 6.2 7.4 3.6 18.1-3 24.6-13.8 13.4-29.3 24-50 15.6-5-2-9.2.5-13.7.9-9.5.8-16.6-1.5-16.6-14.3 13.2 2.4 25-7.3 38.9 1.2 6.2 3.9 17.9-.6 24.9-6 5.7-4.5 9.8-10.7 2.5-19.3-19-22.7-27-50.3-30-79.1a60 60 0 0 1 4.6-28.6C58.3 59 61.7 55 67.3 57c5.5 2 4.5 7.3 3 11-5.2 12.4-4 24.9-1.6 38.4Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M215.1 76.6c5-12 9-29.4 24.1-22.5 20.7 9.4 13.9 30.7 9.7 47.4-1.6 6.3-14.5 15.9-18.3 14.3-16.3-6.8-19.2-21.7-15.5-39.2ZM442 113.4c-8.6 7.5-17 7.6-22.2-1.5-9-16-8.6-32.8 3.3-47.2 2.5-3 13.8-3.6 16.3-1 14 15 14.6 31.8 2.6 49.7Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M474.1 17C499.7 31.2 503.5 68 495 84.7c-8 15.4-19.5 28.5-32.9 39.9a104.9 104.9 0 0 1-38.8 22.8c-7 2-13 .1-18.1-3.3-18.1-12-33.2-27.5-47.5-43.7-3-3.6-5.3-7.7-6.6-12.3-4.3-14.2-14.9-19.2-28.3-13a50.9 50.9 0 0 0-22.3 18.4 150.8 150.8 0 0 1-53.6 49.7c-14.2 8.1-23.5 6.4-37-3.6-13-9.7-24.9-20.8-35.4-33-8.4-9.8-16.8-19.4-15.7-33.5.3-4.6-2.5-7-6.5-8.3a14 14 0 0 0-3.7-.7c-21.3-1-41.3-9-62.6-10.3-16-1-30.9-8.7-46.5-12.6-4.5-1.2-8.7-3.8-13.2-4.6-6.5-1.2-7.8-5.5-9-11.6A65.5 65.5 0 0 1 52 29c18.3 7.3 38 8.5 57 12.8 15.5 3.6 31.5 5 47.7 10.1 4.5-17.5 11.5-32.7 29.6-40 19.9-8 33.2 3.2 48 15 15.2-8.1 31.4-17.3 49.7-9.8 18.4 7.4 22.8 24.7 26.2 42.7 11.6.4 22.8-3.5 34-.7 3.9-7 4.4-14.3 6.3-21.2a37.2 37.2 0 0 1 57.7-21.8c9.8 9 19 9.6 31.5 2.9a38.5 38.5 0 0 1 34.3-2.2Z" fill="#000"/><path d="M193 63.5c-1-.3 1 0-.2.4-6.6 2 50.7 52.8 55.8 48.5 3-2.5-49.5-46.3-55.7-49ZM213.3 39.7c-.9-.3 1 0-.1.4-6.7 2 50.7 52.8 55.7 48.5 3-2.5-49.5-46.3-55.6-49ZM388.2 63.5c-.8-.3 1 0 0 .4-6.7 2 50.6 52.8 55.7 48.5 3-2.5-49.5-46.3-55.7-49ZM408.6 39.7c-.9-.3 1 0-.1.4-6.6 2 50.7 52.8 55.7 48.5 3-2.5-49.5-46.3-55.6-49Z" fill="#fff"/></g><g transform="translate(774 657)"><path d="M30.3 32.1C58 10 89.8 13.1 121 14.1c5.7 0 12.2 1.3 14.3 8.3 2.1 7.7-4.6 9.9-8.8 13.8a44.7 44.7 0 0 1-52.2 8.6 37.9 37.9 0 0 0-31.9 1.6c-2 1-3.8 1.9-5.8 2.6-6.3 2.5-14.3 6-18.6-.4-4.4-6.7 5.6-9 8.3-13.7.6-1 2-1.6 3.9-2.8ZM294.4 23.8c7.7 4.3 14.5 10 20 17 2.5 3 5 6.3 3 10.2-2.4 4.3-6.7 2.7-10.4 2.2-12.5-1.5-23.7-9.2-37-7.2-5 .8-9.9.7-15 2.5-13 4.7-31-6.4-33-19.8-1-5.4 1-8.5 6.8-10 22.2-5.7 44-9 65.6 5.1Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/nora.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="M1313.4 698 9.7 694.7S43.1 485 106 365.7c17-32.4 81-128.7 141.8-189.6 40.8-41 87.7-56 89-62 2.2-9.7-11-41.4-8.8-48.5 8.1-25.5 9.5.8 42.1-31.8 18.3-18.2 1.4-29.6 21.6-43.2 29.8-20 60-8.7 87-7.6 18 .7 12.4 50.3 27.3 62.5 40.3 32.9 91.8 54 128 63.5 46.1 12.2 61.6-2.5 85.4-12.2 23.8-9.6 38.5 12.2 68.9-33.2 14.2-21.2-11-42.6 8.2-54C826.6-8.3 872.2-7.7 891.1 2c28.9 14.8 16.3 41.6 16.3 41.6s35.7 11.6 43 22c7.2 10 5 44 5 44s-2.8-13.7 63.4 23.5c84.2 47.4 179.2 187.2 223 296 46.6 115.8 71.6 269 71.6 269Z" fill="#fff"/><path d="M1307 698c-9.4-38.5-16.9-77.2-25.6-115.7-6.3-27.8-14-55-22.4-82.2-9.5-30.6-19.5-61-33-90.4-9.6-20.7-19.4-41.1-29.5-61.5a673 673 0 0 0-57.7-92.4 470.2 470.2 0 0 0-60.5-70 342.9 342.9 0 0 0-83-57.4c-3-1.5-6.6-2.3-9.2-4.3-17-12.7-33.7-6.3-44.8 12.9-30.8 53.2-78.6 77.6-137.2 85.4a19 19 0 0 1-6.4 0c-5.6-1.2-13.6-1.2-13-9.1.7-7 8-4.5 12.7-5.1 43.7-5.8 84-19.6 113.4-54.3 12.4-14.8 21.6-32.4 31.3-49.3 10.2-17.9 2.4-45-23.7-50.5-11.8-2.5-19.5-6.3-16.2-21.4 2-9.6-4.8-18.9-13.2-23-10.4-5-21.7-9.1-34.5-5.6-11.7 3.2-24.2 4.1-36.3 6-7.1 1-12.2 5.8-18 9.4-4.4 2.8-4.4 6.4-2.5 11 7 17.4 1 39.8-13.9 51-14.7 11.2-30.4 20.2-50 18.4-4.9-.5-8.9 1.2-12.8 4.4-14 11.8-30.4 14.5-48.7 14.3-38.8-.4-74.2-12.6-109.2-27.3-7.8-3.3-13.6-12.6-26.5-7.5 27 34.9 67 48.4 105.6 67.6a26 26 0 0 1-24.8 3c-51.4-17.5-91.9-47.6-117.2-97-8.4-16.5-14.9-33-18.1-51-2.3-12.6-5.7-13.8-17.6-8.4-13.2 6-24.9 14.3-35.7 23.6-12.5 10.8-20 24-18.1 41.5 1 8.4 0 17 .2 25.6a47.3 47.3 0 0 0 35.2 46 37 37 0 0 1 18.4 10.8c-14.6 6.6-40.5-1.2-53-15.9C377.8 89.8 391.1 21 437.3-3.2l5-2.8a39.9 39.9 0 0 0-54 19A80.5 80.5 0 0 1 349 56c-15.3 7.7-19.8 28.7-7.8 39.4 23.4 20.8 43 45.8 69.9 62.6 15.4 9.6 30.1 21 46.7 28 15.8 6.5 33.6 8.4 50.6 11.8 5 1 10.2.8 13.3 5.6.3 3.4-1.7 5.6-4.4 5.5-32.1-1.5-63.4-4.4-92-23a437.5 437.5 0 0 1-69-54.1c-11-11-23.1-6.1-34 0-39 22-72.5 50.9-102.9 83.7a615.2 615.2 0 0 0-87.4 123 870.6 870.6 0 0 0-50.5 108A1198.4 1198.4 0 0 0 47 548.6a558.2 558.2 0 0 0-20.6 102.1c-1.3 15.2-7.3 29.7-7.9 46.2-5.5 1-10.8 1-17.1 1 4.6-32.9 9.9-66 16.2-98.8 3.7-19.1 9.2-37.9 13.7-56.8 5.6-23.6 13.4-46.5 21.2-69.4a831.6 831.6 0 0 1 84-179c16.9-27 36-52.4 57-76 36.7-41.1 76.3-78 126-103 6.4-3.3 9.3-7 4.1-15.1C314.4 85 317.8 54 339 44.4c16.6-7.6 26.6-22 34.3-37.8a56.1 56.1 0 0 1 51.4-33.3c19.6-.5 39.2-.7 58.8-1 9 0 14.1 1.6 10.1 12.7C491.1-8 492-.5 499 4.5a8.7 8.7 0 0 1 4 6.1c4.4 31 27.1 45.6 52.1 57.7 19.8 9.6 39.6 20.3 60.5 26.3 21.8 6.3 44.5 12.1 67.7 10.5a46 46 0 0 0 26.9-10.8c6.3-5.4 14.2-4.9 21.6-6.4 17-3.4 32.5-9.8 45-22.1 11.2-11.2 12-22 3.3-35.3-7.8-11.9-3.3-33.8 8.5-40.8 3.5-2 8.7-2.8 9.8 1.6 3 11.4 9.8 6.6 15.9 4.8a159 159 0 0 1 55.3-8.2A58 58 0 0 1 906 3.5c7.8 6.9 9.7 15.6 9.8 25.3 0 7.6 2.4 11.9 11 13.9 24.7 5.6 33.8 17.7 34.2 43.1 0 5.3 1.4 8.3 6.3 11 34.6 18.7 70.4 35.4 101.6 60 29.3 23 53 51.1 75.5 80.4A719.4 719.4 0 0 1 1245 414c18.2 46.5 33.7 94 46.4 142.4 12 46 16 93.5 27.1 140.6-3.2.9-6.7.9-11.4.9Z" fill="#000"/><path d="M1122.7 698c-9.3-36.4-12.3-73.8-22.2-110-7.8-28.4-14-57.4-24.2-85-7.2-19.4-14-39-23.5-57.7-12.7-25-23.3-51.2-34.7-77-1.4-3-2.8-6.3 1.4-8.8 4.4-2.7 7.6-.6 9.9 2.7 5 7.3 10.2 14.6 14.2 22.5 16 31.2 32 62.7 43 96 7.5 22.8 15.6 45.5 21.2 69 3.9 16.5 8.2 33 12 49.4 7 32.2 11.9 65 14.5 97.9-3.4 1-7 1-11.6 1ZM219 698a451 451 0 0 1 4.4-86.5c3.7-29 4.4-58.3 11-87 3.9-17 9-33.6 13-50.4 7.4-32.1 18.1-63.5 34.6-92.4 2.4-4 4.8-8 7.4-12 2.3-3.3 4.1-8.7 9.5-6.2 5.7 2.8 3.2 8.2 1.8 12.4a320 320 0 0 1-10 26.1c-18 40-33 81.2-40.6 124-7.3 42-15.8 84.3-14 127.6.7 14-1.6 28-2.6 43.2-4.5 1.2-9 1.2-14.4 1.2ZM629.3 367.8c-1.5-9.8 2.8-16.7 6.6-23.9 11.4-21.3 8.4-29.9-11.6-42.6-17.7-11.3-35.3-23-44.2-44-5.8-14-4.4-28.3-6.2-42.4-1-7.2 2.4-16 12.3-16.7 9.4-.6 20.9-3.5 25.6 8.4 3.4 8.6 2.1 17-6.2 24-15 12.8-13.9 19.7 3.7 29.1 13.8 7.4 28.5 13.3 40.5 23.9 23.8 21 26 56 4.5 79.2-6.8 7.3-7.8 15.3-6 24.6.9 4.3 2.7 10.2-3.1 12.3-5.3 2-6.5-4-9.2-7-6.3-6.8-7.1-15-6.7-24.9ZM804.3 405.5c1.2 3.4 4.6 5.2 3 8.6-20.6.3-34.9-24.4-26-44 5-11.3 13.4-20.6 15.8-33.3 3-16.5 0-25.2-15-32.3-27-12.9-39.8-33-35.3-63.4 1.4-9.4 1.4-17.6-11.8-20.7-9-2.2-11.2-12.2-9.2-21 2-8.5 8.8-13.9 17-12.6 7.6 1.3 17.4 3.5 16.7 15.4-.2 3-.4 6.1 2 8.4 11 11 8.6 24.1 6 37.1-2.2 11.1 0 20.3 9.8 26.8 6.4 4.2 12.5 8.9 19.2 12.6a49 49 0 0 1 13 78.4c-14.3 16-15.7 25.7-5.2 40ZM851 92c16.8-7 17.8-16.8 17.5-33.6 0-5-2.4-10 .8-14.9 11.1 2.4 17.6 16.4 14 30a48 48 0 0 1-48.7 35.4 41.9 41.9 0 0 0-31.2 13c-7.7 7-16.5 10.5-27 4.4 18.8-9.4 31.1-30.8 55.7-28.2 6.8.7 12-3.5 18.8-6Z" fill="#000"/></g><g transform="translate(266 207)"><path d="M312.3 277.5a421 421 0 0 1 63.7-72.3 299.3 299.3 0 0 1 129-69c32.9-7.8 67-9.5 101.3-3.3 47 8.5 89.1 26 125.2 57.6 6.7 5.8 14.1 8 23.2 8.5 22.8 1.4 43.7 10.6 64.1 19.7a302.2 302.2 0 0 1 72.6 43.8c14.6 12.3 28 25.2 34 44.5 7.6 24-1 38.8-26.3 42.2-3.4.4-6.8.4-9.9 4.2 6.5 18.6 17.2 36.2 19.8 56.7 6.8 56.1-9 100.5-63.8 124-5.5 2.4-11 5.5-16.7.6-5.7-4.9-1-9 .6-13.7.7-2.2 1-5.4 0-7.3-6.5-12.2-6.6-25.4-7.3-38.6-.4-9.2-4-14.8-13-20.7-44.8-29.1-81.6-66.3-103.6-116-2.2-5-3.2-10.3-5.2-16.7-10.3 11-14.5 24.2-22.1 35.2-17.5 25.4-36.7 49-64 64.8-18.3 10.6-35.4 11.3-50.8-6.6-10.2 10-19.6 19.6-29.4 28.8a122.6 122.6 0 0 1-44 27.4c-8.1 2.9-16.7 5.3-24.7.6-6.5-4-10.5-.6-14.5 3-20.2 18.4-43 28.6-71.8 23.4-8.3 23 5 45.7 2.1 67.8-6.7 1.4-7.8-2-8.5-5.4-2.8-13.3-5.5-26.6-8-40a72.8 72.8 0 0 0-30.7-45c-16.1-11.9-39-1-48.8 19.9-15.7 33.7-14.2 68.5-5.7 103.5 4.5 18.6 12 36 21.2 52.9 5.6 10.2 15 15 23.4 21 6.2 4.5 22.6-3.6 30.5-13.8 2-2.7 3.5-6 6-8.3 9.4-9.5 16.3-7.9 19.4 5.2 5.9 25.2 9 51 11.9 76.7 2.7 24 2.9 48.3 11.4 71.5 8.6 23.2.7 41.2-22 50.5-18.5 7.5-60.3 7.3-75-13.2-8.3-11.5-19-14-30.8-17a70.1 70.1 0 0 1-52.2-47.4c-2.4-6.8-3.7-13.6.7-19.6 31.9-43.4 22.3-87.5 1.6-131.2-7-14.6-11-30.4-11.7-46.5-2.3-47.2 5.1-92.8 20.5-137.7 17.7-51.7 42.2-99.9 67.4-148 3-5.5 6.8-10.6 10.9-16.7Z" fill="#000"/></g><g transform="translate(791 871)"><path fill-rule="evenodd" clip-rule="evenodd" d="M88 70.6a153.5 153.5 0 0 0 115.3-.2c4.1-1.8 8.8-4 12.4 1.5 4.2 6.4.6 12.2-3.4 17.4A71.8 71.8 0 0 1 203 100c-3.8 3.4-9 7.4-13.6 3.4-8.8-7.6-14.7-5.6-22.7 1.7-11.3 10.2-21 4.5-27.6-7-21.8 14.3-21.8 14.3-32.7 1.8h-.9c-.6-.1-1.3-.1-1.6.2-14.7 12.7-17.9 11.3-24-8.6l-1-5c-1.4-6.7-2.7-13.5-12.1-14.9.4-4.5 3.2-7.5 6.3-10.2 3.1.4 5 2.4 7 4.5 2 2.2 4.1 4.4 7.7 4.8Zm11 14.3a22.3 22.3 0 0 0-13.5-6.3c-1.3 6 1.1 10.1 3.4 14.3l2.3 4.2c6-1.6 7.8-5.5 7.8-12.2Zm27.6 8.8c1.8 6-2.6 8.1-8 7.9-4.3-2.8-4.5-6-4.8-9.2 0-1 0-2-.3-3 6.2-1.9 11.4-1.2 13 4.3Zm36.8 4.4c1.7-7.5-2-6.8-5.6-6-1.4.2-2.8.4-3.8.2-2.4-.6-5.3.5-5.2 3.8.2 5.2 4.3 5.8 8.1 5.7 1.9 0 3.7-1.4 6.5-3.7Zm29-2.4c-3.8-4.7-5-8.8 1.5-12.1 4.6-1.3 8.7-2.3 8.5 2-.3 5.2-3.6 9.2-10 10Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><g fill="#000"><path d="M75.1 117.2c3.9 16.3 7.4 31.6 11.2 46.7 5 19.6 2.1 28.4-15.7 35.9-20 8.2-45.5 7-59.6-15.5-2.2-3.5-3.6-6.6-3-10.6.7-3.2 1.9-5.7 5.4-6.3 3.7-.6 5 1.5 6.4 4.6 9.4 19.7 23.7 25.2 43.7 17.1 10.1-4 13.3-11.8 10-21.6a292 292 0 0 1-13.5-67c-1.5-14.8-4.2-30.2 5.7-43.3h4l5.4 60Z"/><path d="M31.5 177.5c-5.7-8.1 0-10.7 5.5-12.3 4-1.2 8.2 1 7.9 5.6-.5 8-6.1 8.8-13.4 6.7Z"/></g></g><g transform="translate(610 680)"><path d="M407.4 122.5c13 .3 25.4 1.1 37.6 2.5 3 .4 5 3.3 5 6.7 0 3.3-1.7 5.6-4.7 7-11.2 4.8-22 8.2-33.7.2-6.5-4.5-9-8.7-4.2-16.4ZM247.6 117c7 0 7.8 3.8 7 8.5-2 10.2-20 22.4-30.4 20.5-5.9-1-10.5-4-10.7-10.5-.2-6.7 4.8-8.2 10.3-8.4 9-.3 15.8-5.2 23.8-10ZM215.1 76.6c5-12 9-29.4 24.1-22.5 20.7 9.4 13.9 30.7 9.7 47.4-1.6 6.3-14.5 15.9-18.3 14.3-16.3-6.8-19.2-21.7-15.5-39.2ZM442 113.4c-8.6 7.5-17 7.6-22.2-1.5-9-16-8.6-32.8 3.3-47.2 2.5-3 13.8-3.6 16.3-1 14 15 14.6 31.8 2.6 49.7Z" fill="#000"/></g><g transform="translate(610 680)"></g><g transform="translate(774 657)"><path d="M81.4 35C60 29.6 52 33.2 40 52.6c-2.4 4-3.4 11.4-10.6 7-5.6-3.4-5.3-8.8-2.6-14.6a51.4 51.4 0 0 1 38-30.7 33.1 33.1 0 0 1 37.5 26.4c.9 5.3.1 10-4.8 13.6-11.2-1.3-8-14.2-16-19.1ZM246.2 32.8c14-6.2 27-12.4 41.2-1.9 5.1 3.7 9 8.8 11.3 14.7 2 5 2.3 10.7-2.7 13.8-5.7 3.5-8.1-2.1-11-5.6-10.4-12.8-18.4-13.7-32.4-4.6-4 2.6-6.8 8-13.5 7-5.7-9.6-.1-16.3 7-23.4Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/riley.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="M1301.3 694.3H182L6 692s25.8-236.8 36.7-268.4C69 348 95.3 256.1 163.2 211.3c29.6-19.6 53.3-37 55.2-47.6 1-5.3 97.8-99.7 115.3-109.2C417.2 8.9 498.5 36 498.5 36l.9 18.8s1.9 22.7 6.9 29.4c22.7 31 101.3 50.4 154.1 54.7 66.3 5.3 138.5-24.7 140.7-46.7 1.7-17.3-21.4-48.5 11.8-61.6C838.5 20.6 914.5 27 941 37.3c34.1 13.2 99 53.5 130.3 93.4 12.2 15.6 14.7 59.5 56.3 72.4 62 19.1 109.6 108.7 135.3 220.5 13.1 57.2 38.4 270.7 38.4 270.7Z" fill="#fff"/><path d="m843.7 694.3-377.5-.3s-13.5-434.3-13.5-523.6c0-74 36.6-154.8 52-130.7 28.5 44.5 76.5 55 149 58.3 115 5.1 121.6-38 137.3-46.8 31.4-17.9 52.7 56.4 52.7 133v510.1Z" fill="#000"/><mask id="bodyVariant09-a" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="453" y="259" width="392" height="433"><path d="m467 692-14-432.5h392V692H467Z" fill="#fff"/></mask><g mask="url(#bodyVariant09-a)"><g transform="translate(396 278)" style="mix-blend-mode:difference"><g fill="#fff"><path d="m302.9 264.7-.5.1h.5Z"/><path d="M410.3 250c-3-10-7.3-19.7-13-28.5a217.4 217.4 0 0 0-24.8-32.8 410 410 0 0 0-64.7-54.4 371.2 371.2 0 0 0-53.1-30A199.3 199.3 0 0 0 188 83.5c-12-.9-24.3-.1-36.2 2.3 11 1 22 2.8 32.7 5.4 14.8 4 33.2 11.6 49.3 18.1 20.5 9 40.7 18.8 59.8 30.5 29.6 19 53.5 38 76.8 62.8 12.4 14.3 20.5 25 28.4 40.5 3.7 8 6.4 16.6 8 25.3.8 6.1.7 5 .8 8.6v1.4l-.4 2.8v.1a44.4 44.4 0 0 1-19.2 27.3c-26.3 17-53 25.7-84.3 24.3-20.5-.8-41.7-6-58.8-10.7a385.2 385.2 0 0 1-61.8-22.6c-17-8-33.5-17.2-48.2-29-16.7-13.3-31.1-24.6-45-42.6-9.2-11.8-14.4-19.2-19.9-33l-.8-2.5c-1.6-5.4-1-2.5-1.7-8.3.2-3.5-.8-8 2.4-13.3a63 63 0 0 1 33.3-24c7.4-2.3 21.7-4.6 32.5-4.7 8-.1 16 1.2 23.9 2.4 15.7 2.8 28.7 6.9 44.7 13.5 14.7 6 29 12.8 42.9 20.4 29.1 16.6 63 42.2 70.4 67.4l.4 1.6v.2c.3 1.2.5 2.5.6 3.7v.3a114.5 114.5 0 0 0-.2 1.7l-.3 1.3c-1.5 4-7 7.6-15.3 10.1h-.3l-.3.2h.1a86 86 0 0 1-16.3 1.6c-9.5.1-18.9-1.6-28-3.8a126.6 126.6 0 0 1-38.1-15.5 189 189 0 0 1-26.9-18.4c-5.9-5-11.6-10.3-16.3-16.6-2-3-2.9-4.1-3.9-7.7a39.8 39.8 0 0 1 .2-.8l.2-.3v-.2l1.2-1.3.3-.4.3-.2c2.8-1.9 5.9-3.3 9-4.3 4-1.1 8.2-1.7 12.3-1.7a100.8 100.8 0 0 1 45.5 11.7 103 103 0 0 0-11.2-8.6c-12.8-8.2-29.1-15.6-44.6-14.2-12.4 1.7-19.9 6.7-20.1 20-.2 12.2 8.1 22.3 16.5 30.3 6.3 6 13 11.6 20.3 16.6a213.5 213.5 0 0 0 34 19c7.7 3 15.6 5.5 23.7 7.2 9.6 2.2 19.5 3.6 29.3 3 6.7-.3 13.5-1.1 19.7-3.8 25-9.7 16.6-42 3.8-58.7a158.2 158.2 0 0 0-36.9-35.3 284 284 0 0 0-51.1-29.7c-14-6.3-28-12.5-42.8-16.8a209.3 209.3 0 0 0-39.5-7.7c-7.8-.4-15.6 0-23.2 1.1A76.8 76.8 0 0 0 77.2 147a49.5 49.5 0 0 0-13 15.9 49.1 49.1 0 0 0-3.4 24c1.6 18.5 11.9 35 22.9 49.6a187.5 187.5 0 0 0 30.9 32.4c11.3 9.5 22.6 19.1 35 27 25.6 16 53.7 27.7 82.4 36.6 28.4 8.3 57.8 16 87.6 14.2a144 144 0 0 0 75.9-29 55.6 55.6 0 0 0 19-35.6 90 90 0 0 0-4.2-32Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M528.4 299.2c2 3 4 6.1 4.8 9.6 1 4.7 1.3 11-3 14.2-2.5 1.4-5.6 1.7-8.5 2l-1.4.1c-5.3.4-10.6.5-15.9.4h-.4c-2.8 5.2-5.5 10.5-8 16 1.3-5.1 3-10.6 5-16.2a213 213 0 0 1-8-.5 142.3 142.3 0 0 0 3.3 8.2l-.5-.7-.6-1c-1.4-2.1-2.8-4.3-4-6.6a126.6 126.6 0 0 1-26-5c-5-1.5-10.6-3.3-12.2-8.7-1.3-5-.3-11 4.2-14a142 142 0 0 1 18.1-12.4c-.7-3-1.4-6.3-1.8-9.5-.7-7.3-1.7-22.4 9-22.2 4.4 1 7.9 4 11.2 6.8l1.6 1.3a150.9 150.9 0 0 1 8.8 8.5c3.8-1.7 7.7-3 11.6-4.2 3.1-.8 6.4-1.4 9.5-.4 3.8 2 4 7 3.5 10.8-.5 2.8-1.4 5.4-2.7 7.9l-3.5 7.1c2 2.6 3.8 5.3 5.6 8l.3.5Zm-8.8-20.8c-1.7.3-3.4.7-5 1.3l-.4.1-.5.2 3.6 4.2 2.4-5.8Zm-37.2-11.6 4 2c2.5 1.8 4.9 3.7 7 5.8a349 349 0 0 0-12.5 6.8 58.4 58.4 0 0 1-1-14.2l.8-.4h1.7Zm-3.3 30.2c-4.7 2.7-9.4 5.6-13.8 8.7 6 2 12.4 3.4 18.8 4.2a244.4 244.4 0 0 1-5-13Zm9 13.4-4.3-16v-.1l2.8-1.6c5.4-3 11-6 16.6-8.5a222 222 0 0 1 9.6 10.8l-6.6 16.5c-6 0-12.2-.4-18-1Zm29.3-9.7-5.8 10.8c4.3 0 8.6-.3 12.9-.8l-.9-1.4c-2-2.9-4-5.8-6.2-8.6Z"/><path d="M262.6 221.8c2 6.7 3.6 10.8-3.4 12.4-5.4 1.1-11 .5-16.4.4-.8 0-1.1 0-.2.3a45 45 0 0 0 9.6 3.6c12.6 3.2 17.6-6.8 10.4-16.7ZM412.8 353.9c-4.7 2.5-9.9 4.1-15 5.8a237 237 0 0 1-21.2 5.6 261 261 0 0 1-58.3 5c-22.6-1-45-4.8-66.8-11-18-5-45.7-11.8-72.3-22.3l-5.7-2.3a851 851 0 0 0 56.3 29.5 196.2 196.2 0 0 0 55.3 16.5c18.7 3.2 37.7 4.2 56.7 3 10.3-.6 20.8-1.6 30.9-4.3a134 134 0 0 0 39-17.4c8.7-6.3 15-15 21.4-23.6-6.6 5.7-12.6 11.2-20.3 15.5ZM391.5 147.3l-4.2-2.4 7.3 7a340.7 340.7 0 0 1 50.5 71.3c-8.6-31-23-61.4-53.6-76ZM18.6 152c5.3-8.4 19-25 29-31.4A100 100 0 0 1 75.5 106a95.2 95.2 0 0 1 21.2-2.5 69.2 69.2 0 0 0-23.6-2.9A78.2 78.2 0 0 0 44 111c-13.7 8-24 20.7-32 34.1a89.6 89.6 0 0 0-11 45c.8 19.6 8 38.5 18.3 55a300 300 0 0 0 38 44.2l15.1 14.5A518 518 0 0 1 27.1 242c-14.5-23.5-21.2-43.7-18.5-62.6a64 64 0 0 1 10-27.5Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M134.7 341.1c-1.8-3-3.7-6-5.8-8.9l-.6-.7-.5-.6 1.4-2.6c1.3-2.1 2.5-4.3 3.3-6.7.8-3.5.8-8.2-2.3-10.6a7 7 0 0 0-4.4 0 43.7 43.7 0 0 0-11.4 4.2A264.7 264.7 0 0 0 91.6 294c-1-.9-2.1-1.8-3.4-2.4-3.5-1.4-5 3.2-5.3 5.8a64.1 64.1 0 0 0 2.5 20.5c1 4.3 2.3 8.6 3.7 12.8l-4 2.8-.7.5-9.8 7c-3 2.3-6.4 4.9-7 8.9-.7 3.5-.5 8.3 2.9 10.4 3.6 1.2 7.5 1.5 11.4 1.8l2.4.2c5.3.4 10.6.4 16 .1 2.3 6.7 4.7 13.4 7.3 20 .2.9.7 1.7 1.3 2.4-.7-1.2-1-2.6-1.2-4l-.4-1.9-1.5-6.5-2.2-10.2c2 0 4.1-.2 6.2-.4-1.2 4.6-2.1 9.4-2.7 14.1 1.4-4.9 3.1-9.7 5.1-14.3a464.7 464.7 0 0 0 10.6-1.2l7.8-1c1.2-.2 2.4-.6 3.6-1a7 7 0 0 0 2.4-3c2-4.7.8-10-2-14.2Zm-44-32.9c4.8 4 9.3 8 13.6 12.4l-9.4 6c-1.7-6.7-3.2-13-4.2-18.4Zm2.5 34.4-8.4 5.7c3.5.2 7 .3 10.5.2l-2.1-6Zm7.3 5.8-2.3-9.2 4.7-3c3.1-2 6.8-4.2 10.5-6.2 1.6 1.8 3.4 3.7 5 5.7a230.1 230.1 0 0 0-4.3 11.6c-4.5.5-9 .9-13.6 1Zm19.8-3.5-1 1.9 7.2-1c-1-1.5-2.5-3.3-4-5.2l-.5 1-1.7 3.3ZM380.5 75.7c-1.2-2-3-3.5-5.2-4.4l-8-3.8c.3-14 .3-27.9-.3-41.8-.3-2-1.1-5.4-3.7-4.6a17.3 17.3 0 0 0-3.6 5 341 341 0 0 1-19.6 29.4 646.9 646.9 0 0 0-43.3-16.7c-1.8-.6-3.6-1.2-5.3-.4-4.3 3.3-3.8 10.2-1.7 14.6a64 64 0 0 0 9.8 12.5l.2.2c5.4 5.8 11.2 11.1 17 16.4l1.6 1.4 1 1a5872 5872 0 0 1-15 9.4 27 27 0 0 0-5.7 4 6 6 0 0 0 0 6.6 3 3 0 0 0 2.6.8c1.5 0 3-.3 4.6-.5 5.1-.9 10.2-2 15.3-3.1l5-1.2 9-2a3942 3942 0 0 0 12.6 11.1c4.2 3.7 10.2 9 14.2 5.6 3.4-3.3 3.8-8.2 4.1-12.7l.2-2.3.5-8.6 6.2-1.2c.5 0 1-.2 1.4-.3 1.4-.3 2.8-.6 4-1.3 4-2.9 4-9 2-13Zm-20-12.7v1.4l-9.3-4.1 5.6-6a57 57 0 0 0-8.4 4.8 242.4 242.4 0 0 1-4-1.7l-1.4-.6c6.5-6.2 12.5-12.8 18-19.8-.3 7.4-.4 16.6-.5 26Zm-55-7A1166.6 1166.6 0 0 0 337 85a225.8 225.8 0 0 1 23.2-6v-.5c-5.7-2.6-11.5-5-17.3-7.5l-3.5-1.5a55 55 0 0 1-5.6 3 94 94 0 0 1 3.5-3.9l-5-2.1a54 54 0 0 0-.7.6l.4-.5.1-.2c-8.8-3.6-17.6-7.2-26.6-10.5Zm5 38.4c3.3-3 6.5-6.2 9.6-9.4l4.5 4.1a556 556 0 0 0-14 5.3Zm38.5 1 1.8 1.7 1 .9c1.5 1.2 3.7 3.2 6.7 4.4h.5c.3-2.6.6-5.7.7-9.3L349 95.4Z"/></g></g></g><path d="M1295 694c-6.2-21.3-11.5-73.3-14.9-102-2.4-20.7-19.6-166.5-38.5-217.4-11.6-31.1-22.4-63-39.5-92.1-11.7-20-29.3-34.3-46-48.9a513 513 0 0 0-67-48.2c-30.9-19.2-63.4-23-97.6-11.7a32 32 0 0 0-21.9 24.3c-13.4 53.3-9.1 107.6-9.8 161.6-.8 69.8 3.1 139.5 5.2 209.2 1.8 57.2 0 66.7-.6 125.2h-14.5c-.9-32.2-.4-15.3-.6-47.5-.2-47.6-.8-95.1-1.6-142.7-.6-37.8-.3-75.7-2.8-113.5-2.6-39.6-2.7-79.1.7-118.6 2.5-28.2.1-57 11.3-84.3 9.4-23 28.3-31.8 49.9-33.5 22.4-1.7 45.7-4.8 69.8 9.3-4.8-16.6-15-24.7-22.6-34-28-34.2-65.5-55.5-103.6-76.8-39.3-22-80.7-19-122.6-17.4-6.5.3-12 3.8-17.8 6.7-7.5 4-15.3 7.3-26.6 4.8 9.5-13 22.1-17.3 35.1-21.1 37.1-10.8 73-5.2 95.7-1.8C943 28 1042.7 76 1089.7 151.5c22.3 35.9 85.8 36.4 143.6 157.6a528 528 0 0 1 34.7 100.7c10.9 44 39.5 252.6 39.5 284.2H1295ZM15.3 694c2-6.9 2.7-9.9 3.6-15.7 4.6-28.4 5.5-57.6 8.9-86.3 2.4-20.6 3.3-41.4 6-62 7.2-52.7 15.6-105 32.5-155.4 10.7-31.7 22.4-63 39.5-92.1 11.7-20 29.3-34.3 46-48.9 20.7-18 43.5-33.7 67-48.2 30.9-19.2 63.4-23 97.6-11.7a32 32 0 0 1 21.9 24.3c13.4 53.3 9.1 107.6 9.8 161.6.8 69.8-3.1 139.5-5.2 209.2-1.8 57.2.5 125 .5 125l14.6.2c.9-32.2.4-15.3.6-47.5.2-47.6.8-95.1 1.6-142.7.6-37.8.3-75.7 2.8-113.5 2.6-39.6 2.7-79.1-.7-118.6-2.5-28.2-.1-57-11.3-84.3-9.4-23-28.3-31.8-50-33.5-22.3-1.7-45.6-4.8-69.7 9.3 4.8-16.6 15-24.7 22.6-34 28-34.2 65.5-55.5 103.5-76.8 39.4-22 80.8-19 122.7-17.4 6.5.3 12 3.8 17.8 6.7 7.5 4 2.3 11.5 6.4.7 5.8-15-2-13.2-15-17-37-10.8-74-4-111 .5-7.4 1-14.8 4.4-21.5 8-51.4 27.8-116 77.2-138.6 117.6-12 21.6-30.7 32.8-47.5 47.7C111 252.3 95.3 263.8 74.6 309a573.6 573.6 0 0 0-34.7 100.7c-11 44-19.1 88.6-22.8 134.2-2.7 32.4-7.4 64.8-10.3 97.4-2 22.8-3.5 39.7-3.5 52.6h12Z" fill="#000"/><path d="M1131.8 694c2-23.7-8-84.7-12.5-115.7-3.3-22.6-3-46-11.4-67.7-2.1-5.4-1.5-12.4 5.3-13.5 6.4-1 9.2 3.5 10.7 10.8 7.8 38.3 11.3 77.2 16 116 3.5 30 7.8 60 8.5 70l-16.6.1ZM193.3 694c1.4-23.6 8-84.7 12.6-115.7 3.3-22.6 3-46 11.4-67.7 2.1-5.4 1.5-12.4-5.3-13.5-6.4-1-9.3 3.5-10.7 10.8-7.8 38.3-11.3 77.2-16 116-3.6 30-5.7 70.1-5.7 70.1h13.7Z" fill="#000"/><path d="M467.4 694.3S452.7 266.8 452.7 179c0-72.8 36.6-163 52-139.2 28.5 43.8 77.2 58.4 149.7 61.5 115 5 120.9-41.3 136.6-50 31.4-17.6 52.7 66 52.7 141.4V694" stroke="#000" stroke-width="15"/></g><g transform="translate(266 207)"><path fill-rule="evenodd" clip-rule="evenodd" d="M344.5 231.5c-11.9 1.6-20.1 8.2-25.8 19.7l-2.7 3c-1.8 1.9-3.4 3.6-4.2 5.7-7 18.3-8.2 38-8.7 56.9-.2 6.1 2.8 12 5.8 18 3.7 7.2 7.6 14.7 6.2 23.5-.2 1.5 2 3.7 3.5 5.1 2.8 2.8 3.5 5.7 1.9 9.2-8 17.1-8.6 35.6-9.2 53.8l-.2 5-.1 3.5c-.6 13.1-1.3 28.6 14.4 35.2 22.4 9.5 35.3 26.6 44.8 47.8 7.5 16.8 9.7 34.7 10.7 52.8 16.2-.6 23.1-6.3 24.4-22.9a144 144 0 0 1 12.3-42.7l1.9-4.6c21-52.7 58-94.1 95-135.5L529 349c3.1-3.6 6.4-6.4 12.1-3.8a1843.6 1843.6 0 0 0 62.2 26.5c9.2 4 18.4 8 28 9.6l8.8 1.6c15 2.6 30.2 5.2 44.9 8.4 24.4 5.3 49 9.4 73.7 13.4l20 3.4c13.8 2.3 28 6.2 38.7 17.2A56.3 56.3 0 0 1 830 481c-1.7 5.7 2 9.2 6.1 13l3.3 3.2c3.8-17.5 10-22.4 21.6-25.7 8.6-2.5 16.8-6.2 25-9.8 8.6-4 17.3-7.8 26.5-10.3 5.8-1.8 10.7-6 13.2-11.6 2.6-6 6.8-11 11-16 5.3-6 10.5-12.3 13-20.9l2.3-7c5.3-16.6 10.3-32.1-1.8-48.7-1.6-2-2.6-4.4-3-7-1.6-21-15.8-32.2-33-39.5a75.7 75.7 0 0 1-8.6-4.5c-8.9-5.3-18-10.5-28.8-2.4-7.6-13.4-8.7-24.6 6-33 3.9-2.2 6-7 6.8-12 .7-4.4 1.1-9 1.5-13.4 1.2-11.5 2.3-23 7.6-33.7 1.9-3.8 1-8.3.2-12.7l-.6-3.5c-.8-5.6-4.7-9.5-8.2-13.2-3.1-3.2-6-6.1-6.3-9.7-2.3-25.1-16.2-36.7-39-41-.2 0-.4-.3-.6-.4-.2-.1-.3-.3-.5-.3-19.3-10.7-38.2-12.3-56.8 1.8-3.4 2.5-7.3 3-12 2.4-10.6-1.2-22.7 1-27 10.3a137.5 137.5 0 0 1-24.3 35.1c-5.1 5.6-9 7.7-16 6.6-13-2-34.6-1.3-48.2-.8-5 .1-9 .3-11 .2-3.6-6.5-2.7-14.2-1.8-21.3 4.6-36.6-17.1-62.8-53.7-64.4-3-.2-5.8-.8-8.6-1.8a65.8 65.8 0 0 0-57 8.8l-3.1 2c-12.7 8-26 16.4-33.4 31.7-1.8 3.7-4.3 7-6.7 10.2-4.9 6.6-9.8 13.3-9.7 23.6 0 2.7-.2 5.4-.4 8.1-.4 5.1-.8 10.4.4 16 1.5 7-.3 14.2-9.3 18.6-8.4 4.2-16.3 9.5-24 14.9l-10 6.7a74.8 74.8 0 0 0-40.8-10c-1.7 0-3.4-.4-5-1-11.6-4.8-21.6-2.7-29.8 7a16.7 16.7 0 0 1-11 5.9ZM684 226c-.6-7.1-1.2-14-6-19.7-3.7-7.1-8.8-12-14-17-2.6-2.4-5.2-4.9-7.7-7.7 21.2-1 36.5 29.5 29.8 57.7-1.3-4.4-1.7-8.9-2.1-13.3Z" fill="#000"/></g><g transform="translate(791 871)"><path d="M176 65c-3.3-2.8-6.4-5.1-11.4-2.8-7.9 3.6-16.1 6.5-24.3 9.8 8.5 11.3 17.4 21.9 23.8 34.4 4.2 8.3 11.8 14.4 22 10.5 9.4-3.5 9.3-12.6 8.4-20.7A42.6 42.6 0 0 0 176 65Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M209 98v-4.9c1-6.4-.6-11.9-2-16.6l-1.3-5.2c3-5.6 7-3.3 10.7-1.1 4 2.3 7.5 4.3 9.2-2.9 1.8-7.2-2-15.5-10.5-20.3-7.8 8.7-16.3 7.7-25.4 2.7C183.2 46 176 44 169 47.3c-11 5-22.8 6.5-34.6 8.1L123 57l-2.5.4c-11.3 2-22.5 3.9-32.7-4.6-3.4-2.8-7.4-1-10.4 1.9-3 3-4 6.6-2.1 10.4 1.6 3.2 4 4.7 8.1 4.8 23.3.2 42.8 8.8 57.4 27.2 3 3.7 5.5 7.6 8 11.5 1.7 2.5 3.3 5 5 7.3 14 19.7 40.7 23.2 52.3-.4C209 110 209 104.3 209 98Zm-44.4-35.8c5-2.3 8.1 0 11.4 2.9a42.6 42.6 0 0 1 18.5 31c.9 8.2 1 17.3-8.4 20.8-10.2 4-17.8-2.2-22-10.5A185.7 185.7 0 0 0 144.9 78l-4.6-6 7.3-2.9a281 281 0 0 0 17-7Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><path d="M7.4 185c5.4-8.7 22.6-12.2 32.1-7.3 6.6 3.4 13 7.6 20 1.7 6.5-5.6 4.6-12.2 1.5-18.7-1.6-3.2-.8-5.7 2.2-7.5 3-1.9 5.5-1.1 8.2.8a20.1 20.1 0 0 1 8 21.5c-1.6 7.3-3.8 16-12.7 19-4 1.4-8.8 3.5-12.3 2.4-15.4-4.7-33.8 3.4-47-12Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M419.6 111c-4.2-9.5-9.9-15.2-19.8-15.7-6-.3-7-5.1-8.9-9.8 2-1.5 3.5-3.7 5.3-3.8 21.1-1.7 42.4-1.8 63.5-.1 6 .4 9.3 8 3.2 10.4-10 4-12.5 13.2-18.5 19.8-8.2 9-15.2 9.1-24.8-.8ZM228.6 81.4c12.2.7 23.1 1 34 2 3.6.3 8 1.8 8 6.7 0 5.6-4.6 5.2-8.3 5.1-6.3 0-9.7 2.7-12.5 8.6-3.4 7.4-6.9 15.3-18 14.8-10.5-.5-15.1-7.2-18.1-15.2-2.2-5.7-5-8.4-11-8.2-3.4.1-7.1-.2-7.5-4.9-.4-5 3-6 7-7.2a67.9 67.9 0 0 1 26.4-1.7Z" fill="#000"/></g><g transform="translate(610 680)"></g><g transform="translate(774 657)"><path d="M295 29.6c2.6 7.3 5.5 13.5 7 20 1.2 4.9 1.7 10.4-5 12.6-7.6 2.6-8.6-3.4-10.6-7.8a120 120 0 0 1-5.5-14.2c-1.5-4.9-4.3-7-9.4-6.8-5 .1-8 3-9.3 7.2-1.7 5.3-3 10.7-4 16.1-1 4.5-4.2 4.8-7.8 4.6-3.6-.1-5.3-2-5.9-5.5-3.2-20.1 6.1-38.2 25.9-41.2 12.2-2 19 4.5 24.5 15ZM50.6 33C65.7 12.5 80 8.5 94.6 21.7c9.1 8.3 8.7 21.2 10.7 32.6.5 3-2 5.7-5.3 6.3-3.5.7-7-1.2-8.4-4.4-1.7-4-2.2-8.3-3.6-12.2-1.7-4.8-3.2-10-9.7-10.5-6.4-.5-10.6 3-13.2 8-3.6 7.2-4.8 20-15.7 14.7-10.4-5-1.9-14.7 1.2-23.2Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/sam.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="m1351 688-1369-3.3s11.4-97 44.3-189.1c41.2-115.2 107.2-232 125-246.1 20.8-16.8-11.6-18.2 3.4-41.2 33.5-51.1 147-97.5 179.8-114.1 58.7-29.8 164.8-47.8 164.8-47.8l27.2 53.5s63.5 21.9 138.6 24.4c40.5 1.3 134.4-29.5 134.4-29.5L788.3 37s169.5 34.8 253.3 85.6c48.3 29.3 108.5 75 110 101.2 2.2 39.8 1.7 36.7 24 51.9 53.5 36.2 98.8 122 121.2 191.2C1314.4 521.1 1351 688 1351 688Z" fill="#fff"/><path d="m924.7 688-94.5-.3L843 482.6l-43.4-379.4s-110.1 29-147 27c-31.4-1.5-123.7-22-123.7-22s51 280 55.9 374.4C587.3 533.9 576 688 576 688l-209.4-1.2L276 489s51-133.4 101.5-206.7c9-13.1-22.8-16-64.1-14-42.2 2-164.2-13.8-162.4-44.5 3-51.3 150.5-113 183.4-129.6C393 64.4 499.2 46.4 499.2 46.4l27.3 53.5S590 121.8 665 124.3c40.5 1.3 134.4-29.5 134.4-29.5L788.3 37s169.6 34.8 253.4 85.6c48.3 29.3 122 66.1 111.2 120.3-2.3 12-207 47-187.2 89.8 24.6 53 88.8 118.6 79 135-16 27-40.8 67.7-69.5 103.3-20.2 25-50.5 117-50.5 117Z" fill="#000"/><path fill-rule="evenodd" clip-rule="evenodd" d="M301.5 563.4c20.5 40.6 41 81.3 56 124.6 6.6 0 12 0 17.7-1l-4.3-11a672.5 672.5 0 0 0-19.6-47.8 5876 5876 0 0 0-34.2-70.7c-9.4-19.2-18.8-38.3-28-57.5-3.8-8-6-16.9-1.3-25.8 6.7-12.8 12.6-26 18.4-39.2l5.2-11.8c11-24.4 24.5-47.6 38-70.9 10.6-18.1 21.2-36.3 30.6-55 8-16.3 5.6-24.5-12-30a48.4 48.4 0 0 0-10.5-2.3c-8.6-.7-17.2-1.2-25.9-1.7-26.4-1.5-52.9-3-78.6-10.8-8-2.4-16.3-3.7-24.6-5-8-1.3-16-2.6-23.8-4.9l-4.6-1.3c-14.8-4.2-30-8.6-41.4-20.3l1.7-2.4c1-1.3 1.8-2.5 2.8-3.5 25.5-28.7 59-47 92.3-65.1l20-11a963.1 963.1 0 0 1 62.6-31.4c7.9-3.7 15.8-7.4 23.7-11.3A394 394 0 0 1 423 71.5c10.6-3.1 21.4-5.6 32.2-8 7.8-1.9 15.6-3.7 23.3-5.7 20.1-5.3 23.8-4 29 15.7l9.1 34.2a2051 2051 0 0 1 26.8 106.6c8.7 40.7 14.4 82 17.2 123.5a1480 1480 0 0 0 6.8 70.7c3.7 32.2 7.3 64.3 8 96.7.5 20.8-.1 41.6-.8 62.4l-.8 29c-.3 13.5-1.8 26.9-3.3 40.2-2 17-4 34-3.3 51.2 6.7 0 12.2 0 17.8-1.2l.6-16.2c.2-10.2.5-20 1.6-29.6 5.7-51 4.8-102 3.7-153-.7-33.6-3.6-67-8.4-100.2a605.8 605.8 0 0 1-4.6-52.8c-1.3-23-2.6-46.1-7.3-69a1627 1627 0 0 1-6.7-34.2 906 906 0 0 0-13-61.8c-.2-1-.6-2-1-3-1.2-3-2.5-6 .6-8.9 4-3.8 9.1-2.7 14-1.4A373 373 0 0 0 690 167.3c31.6-2.4 62.8-5.8 91.8-19.5 8.7-4 15.5-1.5 17.4 9 1 5.6 1.7 11.2 2.4 16.9 1 7.9 2.1 15.8 3.8 23.4 7.8 34.8 10 70 12 105.2 1 16.1 2 32.2 3.5 48.3 1.1 12 2 24.2 2.8 36.3 1 14.6 2 29.1 3.6 43.7 6.3 60.7 4.7 121.5 2.7 182.3l-.7 20c-.7 18.4-1.4 36.7-1.4 55 5.8 0 10.4 0 15.4-1l.8-5.3c1-6.5 2-12.5 2-18.4l.3-44.7c.1-28 .3-56.2 1.6-84.2 1.7-37 .6-74-3.2-111-2.7-26.2-4.5-52.4-6.3-78.7-1.7-24.1-3.4-48.3-5.7-72.4-4.5-46-10.5-92-20.5-137.3a2499.2 2499.2 0 0 1-13.8-68.7c-.5-2.4-.4-5-.4-7.4v-4c-.3-6.4 2.7-8.5 9.1-7.2a642.2 642.2 0 0 1 79.2 18.8c21 6.9 41.7 15 62.3 23 7.3 3 14.7 5.8 22 8.6a446.7 446.7 0 0 1 141 84.8c13 11.7 24.1 25.1 31.8 40.6 4.5 9.3-.3 19.2-9.6 21l-9.2 1.9c-22.7 4.4-45.4 9-67.6 15.7a251.6 251.6 0 0 0-92.9 50.8c-7.6 6.6-8.7 14.7-4.5 23.2 4 8 8.4 16 13.2 23.6 5.8 9.2 11.7 18.4 17.7 27.5a705.7 705.7 0 0 1 42 70c3.2 6.5 4 13-.3 18-9.4 10.8-16.8 22.9-24.3 35a360.3 360.3 0 0 1-16.9 25.7 486 486 0 0 0-53.6 90.3c-3.6 7.9-6.6 16-9.7 24.2-4.8 13-9.7 25.8-16.5 37.7 7.5 0 14 0 20.6-1 10.7-33 23.5-64.2 41.5-93 23-37.1 47.5-73.3 72.3-109.3 6.3-9 9.7-18.8 3.8-31a589 589 0 0 0-27-48.5l-.4-.7c-13.9-23-28.7-45.6-43.7-68-4.7-7.2-2.2-12 3-16.8a158.1 158.1 0 0 1 41.7-26.7 355.4 355.4 0 0 1 102.9-29.7c12.8-1.7 22.3.7 32 7.6 34.6 24.3 64.6 51 82.6 90.3l8.7 18.7c12.8 27.6 25.6 55.2 35.5 84a1107 1107 0 0 1 41 147.4c5.8 25.6 11.6 51.2 18.2 76.7 4.9 0 8.6 0 12-1-5.3-21.6-9-43.3-12.8-65-4.7-27-9.4-54-17-80.4l-1.4-5.3c-6.6-23.2-13.2-46.4-21.1-69a882 882 0 0 0-52-121.3c-18.2-34.7-45.8-61.4-77.7-84.9-1.4-1-3.2-1.9-5-2.8-6-3.1-12.7-6.5-9.7-16.8 5.2-17.6 1.8-33.7-13.7-46.3a86.8 86.8 0 0 1-9.6-9.7l-3-3.3c-41.4-45.3-95.8-72.5-151.8-97-36.4-15.9-74.5-28.1-112.6-40-23.7-7.3-48-13.2-73-15-12.7-1-18 4.8-16.5 16.8.4 3 .8 6 1 9 .8 6.7 1.5 13.5 3.1 20 2.8 11.2-3.2 17.2-12 21.2-22 9.8-45.4 17.3-69.4 18.8-52.8 3.3-105.4.7-156-16.9-8.5-3-13.3-7.4-16.9-14.7-2.5-5-4.7-10.2-6.8-15.3a224 224 0 0 0-11-23c-5.4-9.6-11.8-11.8-21.6-8.6-6.4 2-12.8 3.7-19.3 5C434.6 50.4 399.3 59 366.5 75c-46 22.4-91.7 45.1-136 70.3-30.3 17.2-60 34.8-82.7 61.3-6.2 7.3-7.5 14.5-2.5 22.2 4.2 6.5 3.9 11.5-2 17a139.2 139.2 0 0 0-22.8 30c-1.8 2.8-3.5 5.7-5.4 8.5-21 32-39.7 65.2-56 99.5A873.4 873.4 0 0 0 26.7 463l-1 2.8c-7.9 22-15.7 43.9-21.3 66.5a925 925 0 0 1-5.6 21.5 563.4 563.4 0 0 0-8.8 35.3c-6.6 32.9-12.2 66-17 98.9 6.7 0 12.1 0 18-1l8-46c2-12.3 4-24.5 6.2-36.6 11-63 32.6-123 57-182a838.3 838.3 0 0 1 91-160.9c4-5.6 9-7.2 15.7-7.8 16.4-1.5 31.6 2.9 46.8 7.2 7.8 2.3 15.6 4.5 23.5 6l15.7 2.8c27 5 54 10 81.8 11.4 2.9.2 5.8.2 8.7.2 8.1 0 16.5 0 25.3 3l-8.4 13.6-23.8 38.6a729.7 729.7 0 0 0-50 95.6 948.5 948.5 0 0 1-18.2 39.1c-3.8 7.6-4.9 14.6-1.7 22l1.3 3c6 14 11.9 27.8 18.6 41.4l13 25.8Zm476.8-452c4.8-2.6 10.3-5.4 11.2 3.7 1.8 10.6-5.4 14.2-11.5 17.3l-1.8 1c-17.5 9.2-37 14-56.8 16.2a437 437 0 0 1-145.1-5.8c-9.6-2.2-18.8-5.6-27.4-10-5.6-2.7-8.1-6.8-6.8-12.5 1.5-6 5.5-5 9.5-4l2.4.6 19.4 3.8c16.5 3.3 33.1 6.6 49.9 9a293 293 0 0 0 103.8-2.9l1-.1c18-3.8 35.8-7.5 52.2-16.2Z" fill="#000"/><path d="M200 688c3-35 7-69.8 11.4-104.7 3.6-29.7 4-60 17.4-88 1-2.4 2.3-4.6 3.8-6.7 2.3-3.1 5-6.8 9.7-5.2 5.3 1.7 3.6 6.4 2.7 9.9-8 32.1-13.3 64.8-17.7 97.5-4.1 31.5-6.2 63.3-9.4 96-5.8 1.2-11.2 1.2-18 1.2ZM1150.9 688c-9.8-36.3-12.8-73.7-23.3-109.7-6.2-21-9.8-42.8-17.9-63.4-1.6-4.2-.5-9 4-11.2 4.4-2.3 7.4 1.3 9.9 4.3a55.4 55.4 0 0 1 9.9 22.1c11.5 43.4 20.8 87.4 27.6 131.7 1.2 8 1.2 16 1.9 25.2-3.5 1-7.3 1-12.1 1Z" fill="#000"/></g><g transform="translate(266 207)"><path d="M312.7 272.6c3.8-10.5 11.7-7.8 18.6-6.8 16 2.3 31.4 3.5 47.8.4 18.7-3.5 31.6-13.7 43.2-26.4 19.8-21.5 38.8-44 63.8-59.6 45.7-28.6 94.5-40 148.3-27.4 22.8 5.3 44.4 13.9 66.9 19.5 24 6 49.7 11 69.8-11.7 12.4-13.9 16.5-31 19-48.8.6-4.5-1-10.1 5-11.9 4.8-1.4 9.2.8 13 3.8 16.5 13.2 33.7 25.9 40 47.9 1.4 4.5 3.8 8.6 7 12 24.8 26.3 18.7 53.8 2 80.5-6.4 10.4-12 21.3-25.6 29.7 11.1-2 19.6-9.2 34.9-28.5 9-11.4 10.8-26.8 21.4-38.7a52.8 52.8 0 0 1 9.9 49.3c-3.3 12.6-.2 24.3-.7 36.4 0 1.2.1 3.1.9 3.6 14.6 9.6 6.2 22 3.4 33-2.4 9.5-2 18.6-1.9 28a63 63 0 0 1-23.8 51c-11 9.6-18.3 23.5-24.9 37.1-5 10.5-7.6 22.3-17.8 34.1-4.5-38-5.5-75.3-48.1-93.3 15.8-6.2 29.5.4 42.7-6-8.4-5.8-17.6-2.4-25.2-7.2-7.3-4.5-13.5-9.4-16.6-16.8a25.5 25.5 0 0 0-19.1-16.7c-8.3-2-16.3-4.9-23.9-8.7-24.7-12.3-50.6-8.5-76.2-4.6-27.8 4.2-55.2 1.1-82.7-1.6-30.1-3-113-33.4-153.2 85-9 26.6-9 54.5-10.2 82a32.2 32.2 0 0 1-7.6 21.4 102 102 0 0 0-23.7 44.4c-1.1 3.8-2 9.2-7.4 9-6.6 0-5.2-6.1-6.4-10.5-8.3-28-16.2-56.7-42.5-74.4a27 27 0 0 1-12.8-23.5c0-13.7-7.3-24-14.4-34.6-4.6-6.8-10.6-13.7-5.3-23 .4-.6.8-2 .4-2.4-9.7-9.6-3.3-23.7-9.5-34.2-4.7-8.1-9-15.7.1-23.9 2.4-2-1-6.7 2.5-10.2 14-5.3 24.3 15.6 42.1 6.3-16-5.9-23.5-18-31.6-29.5-7.6-11-4-21.5 9.3-24l-1-9.5Z" fill="#000"/></g><g transform="translate(791 871)"><path d="M141.7 79c-3.2 7-5.7 14.2-6.1 22-.2 4.6.8 9.8 6 11.6 5.4 1.9 9.1-1 12.8-5.6 6-7.5 7.4-16.2 7.5-25.1 0-5 1.3-11.8-6.1-13.7-7.6-2-10.7 3.1-14 10.7Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M140.4 59.5c-14.9 15-17.2 33.4-14.1 54.3 5.4 10.8 14 11.2 23.4 9.9 21.3-2.9 39.6-34.7 26-58.5-9.4-16.3-22-19-35.3-5.7Zm-4.8 41.4c.4-7.7 2.9-15 6.1-22 3.4-7.6 6.5-12.7 14-10.7 6.7 1.7 6.4 7.3 6.3 12v1.7a39.1 39.1 0 0 1-7.6 25.1c-3.7 4.6-7.4 7.5-12.8 5.6-5.2-1.8-6.2-7-6-11.7Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><path d="M99.8 182.6c-8.7 16.5-33.4 25.7-48.5 18.9-4.3-2-6.2-5.8-7-10-.5-2.7.9-5.3 3.3-6.5 4.6-2 5.8 2.3 8.6 4.8 7 6 13 .7 19-3.4 5.8-4 9.1-8.5 4.3-14.7-10.5-13.1-14.8-29.2-21.8-44-3.1-6.5-5-13.5-3.8-21 .5-3.3 1.9-5.5 5.6-5.6 2.8 0 5 .8 5.9 3.8 7.5 26.3 23.3 48.6 34.6 73.1.5 1 0 2.5-.2 4.6Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M419.6 111c-4.2-9.5-9.9-15.2-19.8-15.7-6-.3-7-5.1-8.9-9.8 2-1.5 3.5-3.7 5.3-3.8 21.1-1.7 42.4-1.8 63.5-.1 6 .4 9.3 8 3.2 10.4-10 4-12.5 13.2-18.5 19.8-8.2 9-15.2 9.1-24.8-.8ZM228.6 81.4c12.2.7 23.1 1 34 2 3.6.3 8 1.8 8 6.7 0 5.6-4.6 5.2-8.3 5.1-6.3 0-9.7 2.7-12.5 8.6-3.4 7.4-6.9 15.3-18 14.8-10.5-.5-15.1-7.2-18.1-15.2-2.2-5.7-5-8.4-11-8.2-3.4.1-7.1-.2-7.5-4.9-.4-5 3-6 7-7.2a67.9 67.9 0 0 1 26.4-1.7Z" fill="#000"/></g><g transform="translate(610 680)"></g><g transform="translate(774 657)"><path d="M131.2 43.2c-5.6 16.8-6.6 15.4-23 11.6-26.2-6-52.7-19.2-80.3-4.3-2 1.1-5 1-7.6.8-3.6-.2-8.2 1.3-10.1-3.3-2.1-5 1.5-8.3 5.3-10.3C35.2 27.7 53 13.4 77.9 16c12.8 1.3 26-2.8 39.3-2.4 18.8.7 22.4 5.7 16 23.9l-2 5.8ZM298.7 21.8c9.6 6.6 12.5 16.8 18.3 25a7 7 0 0 1-.6 9.4c-2.4 2.7-5.4 2.8-8.1 1.2-19.1-11-38.9-6.4-58-1.2-10.2 2.7-14.6-.8-17.2-9.2-1.7-5.7-2.9-11.5-3.6-17.4-1.3-9.8 6.9-11.9 13-12.2 18.5-.9 37.4-4.5 56.2 4.4Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/theo.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="M1308 692 16 688.7S53.7 481.5 111.3 360C237.7 93.7 491.2 44.3 513.3 56.7c32 18 62.4 40.7 152 40.7 91.4 0 149.3-39.5 149.3-39.5s135.8 32.3 201.4 69.5c83.4 47.4 177.7 187 221 295.9 46.2 115.6 71 268.7 71 268.7Z" fill="#fff"/><g fill="#000"><path d="M728.6 692c-4.3-25.7 12-38.5 31-49.3 10.9-6.2 27.6-3.2 39 6 7.7 6 8.4 15.2 11.3 23.4 1.7 4.7 2.4 9.8 3.6 14.7 6.4 3 13.7-.6 20.2 4.4a455 455 0 0 1-49.2-.2c-1.3-7.2-2.2-13.2-8.8-15.6-6.1-2.1-10.4 2.2-14.3 6-2.9 2.7-3.1 6.7-3.3 10.6-3.2 0-6.3-.3-9.4-1-2-12.7 5.2-19 14.4-23 18.2-8 26.4 4.7 33.5 21.6 2.8-18.8-2.6-35.2-11.6-36.7-12.8-2-25.8-3.2-36.6 8a54.2 54.2 0 0 0-13.1 31h-6.7ZM1182.7 692c4.9-29.4 27.1-45.5 56.5-41.7 14.7 2 26.7 19.7 26.5 40.6a25 25 0 0 1-11.8.3c-3.2-25.6-11.3-32.4-33.8-28.7-14 2.3-26.6 16.8-25.8 29.5h-11.6ZM477.6 692a53 53 0 0 1 24.2-34.7c27.4-16.8 50-8.6 59 22.3 1 3.6 2.5 7.1 4.1 11.6-5.2.8-10.6.8-15.9 0 .6-15.7-5.5-27.3-16.1-28.7-19.8-2.7-39.5 5.7-43.6 29.5h-11.7ZM107.4 692c-4.3-17.2-27.2-35.2-45.3-35-17.4.4-30.5 13-34.2 34-2.1 1-4 1-6.9 1 .4-23 9.3-37.2 25.2-41.8 24.3-7 46.6.9 62 22 5.5 7.3 8.1 17.8 20.4 19-6.3.8-13.2.8-21.2.8Z"/><path d="M498 692c12.7-17.4 23.2-21.3 35.8-15.2 6.1 3 7.4 8.8 11 14.3-15 .9-30.3.9-46.8.9ZM1203.1 692c15.3-23.6 31.4-24 46.6-.8-14.9.8-30.1.8-46.6.8ZM38.8 692c4.6-15.7 17.4-19.8 32-20.2 12.6-.2 21.4 5.9 25.4 19.2-2 1-3.9 1-7.3.3-17.6-15-32.3-14.6-41 .7h-9ZM671.6 478.7c35.7 22.3 35.5 53.2 33.8 86.4-.1 3.3-1.5 5.9-5 6.3-3.4.3-5.7-1.6-7.1-4.4-2-4-1.5-8.2-.7-12.5 3.5-17.5 0-33.8-8.5-49.2-7.2-12.6-32.2-22.1-50.7-19.2a55.6 55.6 0 0 0-47 52c-.2 3.5 1.3 8.9-4.4 8.8-5.3 0-4.6-5.1-4.8-8.8a62.8 62.8 0 0 1 56.2-64.3c12.7-1 25.3-.4 38.2 4.9ZM906.3 348.4c-14.8-23-35.3-30-60.6-26.3-20.7 3-37.3 24-38.9 50-.4 7.6.4 15.3 2.2 22.7 1.5 6.1-.6 12-6.9 13-6.8 1.2-7.9-5.4-8.4-10.3-2.6-26 2.6-50.8 19.2-70.7 14-16.8 35-18.9 55.8-16.3 31 3.7 52 26 54.5 59.7.3 4.6.8 9.5-5.8 11.7-7-9.8-1.8-23.7-11-33.5ZM365.6 380.4c-17.1 16-20 36.2-17.7 57.4-8.2.6-8.9-4.2-9.7-8.1a66 66 0 0 1 28.6-64.9c24.2-14.5 57.4-14 75.7 3.4a90.8 90.8 0 0 1 27.2 66.4c0 3.9-.2 8.2-5.5 8.2-5 0-7.7-3.5-8.4-8.1-1.2-8-2-16-3.1-24.1-6-46-57.7-54.8-87.1-30.2ZM1172.3 432.6c-.2 5.5-.2 10.3-6.5 9.5-6.5-.9-7.5-6.2-7.7-11.5-.4-15-2.8-29.4-10.3-42.7a37.5 37.5 0 0 0-25.5-19.2c-43.7-8.9-73 19.5-72.1 58.6 0 3.7 1.4 7.7-2.6 11.3-6.9-1.2-7.5-7.4-7.5-12.3-.6-48.8 35.7-77.3 80.7-70 25.6 4.2 37.8 22.6 45.5 44.3 3.4 9.6 7.7 20 6 32ZM561.1 270.8c20.9-18.4 42-14.7 62.6-2.3a49.1 49.1 0 0 1 26 47.5c-.3 5.4-.4 11.1-6 14.5-6.3-2.3-4.6-7-4-11.6 3.4-28.6-30.3-58.8-57.3-50-13.2 4.5-20.7 17-23.5 31-1.8 8.7-2.1 17.7-3.1 26.6-.5 4.1 0 9.9-5.8 9.6-6-.3-8-5.3-7.4-11.2 1.8-19.2 5.5-37.8 18.5-54.1ZM204.3 530c4.2 10 7 20.7 8 31.6.5 5 1 9.3-6 11.1-3.1-11-6-21.5-9.3-31.8-4.2-12.7-21.6-24.6-34.3-24-17.3.6-25.9 11.2-25.4 30.8.2 10.4 5.2 20.7.5 31.7-6 .4-11.2-1.4-11.8-7.1-1.2-11.8-4.3-23.4-1.6-35.4 7-30.7 36-41.9 64.9-21.8a49.7 49.7 0 0 1 15 15ZM895.9 217.6c-.6 5-1.3 9.4-6.7 8-4.4-1.2-3.2-5.2-3-8.6 2.7-32.5-18.2-46.6-41.8-53.4-12-3.5-26.1 5.2-32.6 18.6a58.9 58.9 0 0 0-7.4 31.7c.2 3 .1 6-.2 9-.3 4.7-.2 10.2-7 9.5-6-.6-7-5.6-6.6-10.5 1.7-17.2 3.7-33.8 13.6-49.4 13.8-21.8 46.8-20 63.5-10.5 20.9 12 32 29.4 28.2 55.6ZM396.8 148.8c3.2 10.2 6.5 19.4 8.8 28.9 1.7 6.8.2 12.7-9.2 14l-8.8-33.1a48 48 0 0 0-9.7-19.1c-14.3-16.8-27-19.2-45.2-7-18.4 12.5-30 28.7-23.8 52.8.7 2.6.9 5-3 8.7-8.4-7.6-10.4-17.3-8.8-27.6a57.4 57.4 0 0 1 50.4-47.9c21.4-3 38.3 6.8 49.3 30.3ZM876.6 519c-26.6-4.5-40.6 9.8-35.9 36 1 5.9 2.5 11.6 2.2 17.6-.2 3.6-.8 7.4-5.3 7.2a7 7 0 0 1-6.8-6.5c-1.8-15.6-4-31.2.4-46.8 3.4-12.1 24-24.8 37.8-21.5 21 5 45.3 18.8 44.6 47.5-.2 6.6 6.5 14-3 21-9.8-19.2-6.5-46.6-34-54.5ZM357 664.1c-4-30.4-35.2-50.7-61-40.6-14.4 5.7-22 23.3-18.4 43 .8 4.5 3.5 8.9-1.3 14.6-14.2-11.2-8.5-26.6-7.8-39.4.7-16.4 17-30 34.6-32.2 24-3 51.3 12.5 59.7 34.1 5.4 13.8 5 31-1 35.3-4.9-3.4-4.2-8.8-4.8-14.8ZM991.9 628.3c-12 12.8-16.2 26.5-9.1 42.5 1.4 3.2 3 6.9-1.4 8.6-4.5 1.7-5.5-2-7-5.3-8.6-20-2.2-47.4 13.5-57.8 19.6-12.8 48.6-7.2 67.3 10.9 13 12.6 11.8 29.2 15.8 44.4a6 6 0 0 1-5.3 7.4c-3.8.4-4.7-3.2-5.3-6-.8-3.7-.8-7.6-1.1-11.4a44.2 44.2 0 0 0-67.4-33.3Z"/><path d="M605.3 545.1c-1.4 3.2-1.9 6.2-5.2 6-3.6-.4-4.6-3.3-5-6.4a43.8 43.8 0 0 1 10.1-33.1C618.6 495.4 638 491 658 494c9 1.4 14.8 10.8 18 18.5a60 60 0 0 1 2 41.2c-.8 2.5-1.4 5-4.6 5.1-3.1.1-4-2.3-5.3-4.6-2.4-4.4-1.8-8.6-.7-13.4 2.5-10.9.8-21-7.9-29.1-8.5-8-17.6-5.3-27.2-2.5-17.5 5.2-24.3 18.1-27 35.8ZM368.6 412.8c-1.5 10 2.3 19.5-3 28.2-8.8-6.7-11.2-23.8-6-38.5 4.8-14.4 25.6-25 45.9-26.5 16.6-1.2 27.4 10.2 33.5 30 3.2 10.3 6.3 20.8-3 29.8-6.5-2.7-5.9-7.3-5.9-11.4 0-8-2.2-15.3-5.3-22.2-6-13.6-18.2-17.6-31.5-11-9.7 5-20 9.4-24.7 21.6ZM1114 388.4c-34 1-45.5 21.3-43.9 53.5a34.6 34.6 0 0 1-3.2-45.5c15.7-19.3 45.8-26.8 60.2-15 15.6 12.9 22 39.7 11.7 53.7-11.2-14.2-4-37.8-24.7-46.8ZM903.5 374.3c-.8 4.9 1.8 11.2-4.5 11.1-5.8 0-4.4-6.1-4.8-10.1-2-19.1-25.3-36.6-43.7-32.2-11.6 2.9-17.2 11.2-18 23-.7 9.6 1.9 19.4-2.2 28.7-9.3-3.6-13.2-21-9.3-39.1 3.6-16.7 21.4-28 42.4-25 19.3 2.8 41.6 16.6 40 43.6ZM129 380.3c.7 5.9-.2 10.3-3.6 14-11.7-8.4-12.4-34.2-1.4-50.3 12.3-18.2 36.5-19 61.9-2.2 12.4 8.3 18.3 31.3 10.7 43.8-6.7-2.7-6-9.4-7.4-14.7-4.5-17.4-24.7-31.2-42-28.2-13.6 2.2-21.5 18-18.2 37.6Z"/><path d="M216.1 352c-.2 6.2 2.4 10.8 3.9 15.6 1.6 5.6 1.2 10.6-6.3 15-7-46.8-32-68.7-79-59.4-.6-9.3 4.3-12.2 9.6-12.7 31.1-3.1 56.2 5.3 71.8 41.4ZM884 536c13.3 15.8 14.8 21.7 9 33.5-7.2-5.3-7.9-14.7-13.6-20.9-4.8-5.3-9.6-8.3-16.4-5.9-6.4 2.4-4.8 8.2-4.4 13.2l1.2 13.9c.4 3.7 2 8.3-3.3 9.4-4.7 1-7.8-2.3-9.5-6.6-3.6-8.5-.3-31 5.8-36.2 9.7-8.2 20.2-6.2 31.3-.3ZM296.5 666.4c-2.4 2.1-3 6.3-7.1 6.6-6.8-10.9-5.3-23.4 3.6-31.6a34.9 34.9 0 0 1 43.1-2.6c7.4 5.4 12.4 27 8.3 35-1.3 2.2-2.5 4.6-5.7 3.9-2.8-.6-4.2-2.7-4.5-5.5-.2-3.3-.2-6.8-.3-10.2-.7-12.7-9.1-20.7-21-20-12.6.6-18.1 8-16.7 23.6l.3.8ZM629.5 318.8c-5.2 5.3-7.8 3.2-9-2.3-.7-3.3-.2-7-1.7-9.9a23.8 23.8 0 0 0-20.2-13c-9.3-.6-11.3 6.8-15 13-3.8 6.6-1 15.4-7.8 21.4-12.6-4.2-7.2-14-5.2-20.8 5.6-19.2 16.8-25.6 36.2-22.6 13 2.1 23.5 17.4 22.7 34.2ZM166.6 530.8c20 5.6 31.2 24.2 22.7 39.2-3.3-9-9-15.4-13.7-22.4-4.4-6.4-10.6-7.3-16.8-4.7-6 2.4-6.3 8.5-5.4 14.2.7 4.2 1.9 8.3 2.7 12.4.8 3.7 2.6 8.5-2.8 9.4-4.7.9-8.8-1.3-11-6.5a30.3 30.3 0 0 1 24.3-41.6ZM316.5 174.9c2.7-16.6 9.6-27.5 27-30 18.4-2.6 36.2 12.9 35 31.7-.3 4-.4 8.3-5.5 8.6-5 .3-6-3.6-6.4-7.8-.3-2.9-.4-6.1-1.8-8.6-4-7.7-6.8-17.5-17.7-17.7-8-.2-19.9 13-21.6 22.5-.7 3.5 1 7.7-2.6 10.7-5-.6-5.2-4.9-6.4-9.4ZM1029.6 645.7c-26.6-11.3-31.4 7.2-35.7 26.8-5.2-11.7-4.7-22 2-30.7 6.2-8.2 26.4-11.7 36.6-7.5 10.5 4.3 16 12.4 15.4 23.8-.4 6.6 4.2 18.4-3.8 18.8-9.8.6-4.1-11.1-5.2-17.3-1-6-3.8-10.2-9.3-14ZM857.7 183.2c16.8 6.2 21.5 17.5 15.7 36-6.4-1-4.3-6.5-4.9-10-1.7-9.3-7-14.9-15.2-18.6-9.7-4.3-16.5-1-20.4 8.3-2.3 5.4-3.9 11.1-4.8 17-.6 4.6-1.8 7.6-6.8 6.5-4.4-1-5.3-4.4-4.8-8.9 2.6-25.7 13.5-34 41.2-30.3ZM1016.5 152.4c-7.8 13.1-1.4 27.4-5.4 40.4-11.3-5-14.5-25-7.1-38.7 11.7-21.4 15.7-24.4 25.4-18l-13 16.3ZM643.4 546.3c-.2-7 0-14.6-6.7-16.1-9.7-2.1-10.5 9-15.4 14-6-6.4-4.7-16.4 2.4-22 8.3-6.7 19.7-6.3 24.5 2 3.4 5.7 4.7 12.6 6.3 19.1.7 2.8.4 6.3-3 7.7-3.7 1.5-6.5.4-8-4.7ZM877.8 379.4a82.1 82.1 0 0 1-4.6-8.3c-2-3.6-4.7-6.3-9-5.2-3.6.8-5.6 3.6-6.1 7.3-.4 3.3-.4 6.7-1 10a4.8 4.8 0 0 1-4.2 4c-3 .5-4.6-1.6-5.6-4-3.3-7.8 3.9-24.5 12-27.9 9-3.8 20 2 23.8 12.8 1.6 4.8 3.4 10.3-5.3 11.3ZM393.4 402c14.4 1.7 20.7 8.7 21.7 22.5.3 3.1.7 6.2-3.2 7-4 1-6.5-.7-7-5-.3-2.5-.2-5.3-1.2-7.5-1.8-4-5.8-6.6-10.1-6.5-4.2 0-4.9 4-6.3 7.1-1.7 3.6.1 8.9-5 10.9-10.6-10.3-6.4-22.3 11-28.4ZM1248.8 517.4c-4.6 12.5-1.5 25.9-8.8 37.7-10-29.2.2-61 25.8-61.8-2.5 10.2-13.8 13.7-17 24ZM1112.4 408.9c3.6 4.9 6 9.3 7.2 14.3 1 3.6 1.3 7-3.1 8.2-4 1-6.4-1.1-7.4-5-1.7-6.2-3.4-13.7-10.9-13.8-9.3 0-7.3 10.8-12.1 16.8-7.5-8.1-5.3-17 .2-22.6 7.7-7.6 17.5-7.2 26.1 2ZM166.8 366.2c-10.8-2-13.7 3.8-14 12.6-.3 4 .2 9.8-6.2 8.4-5-1-5.2-5.7-4.5-10.3 2.7-19.5 17.1-28.5 30.1-18.7 7.4 5.5 7 12.5 5 20.8-7.7-1.2-4.6-10-10.4-12.8ZM1045.8 147c.8.9 1.2 1.5 1 1.6-11 9.6-19.4 20.6-18 38.1-11-5.9-8.4-13.9-7.1-20 2.5-12.2 10-20 24-19.7ZM1261.2 544.3c-.8 3-1 5.2-3.8 5.4-5.5-11.7-1.3-29.4 8.5-35.8 2.7-1.8 5.5-2 7.8.9 2.2 2.7 2 5.6-.5 7.9-6.5 5.4-8.4 13.4-12 21.6Z"/><path d="M869.2 571c-10.7 0-8.3-7-7-12.4 1.4-5.2 5.2-9.7 11.1-8 8.4 2.2 10.5 8.7 9.1 16.5-3.5 4.7-9.6-2-13.2 4ZM296.4 666.5c10.5-13.2 19.8-14.2 26.5-2.5 2.4 4.3 4.2 9.6-.7 12.5-5.8 3.6-8-1.4-9.5-6.3-.4-1-1.5-2-2.1-2.8-4.5-2.3-8.6 5.4-13.5-.4-.6-.6-.6-.5-.7-.5ZM160 555c4.5-5.8 9.5-5.7 13.9-2.5 5 3.6 5 9.2 3.4 14.8-19.4 3.2-19.4 3.2-17.2-12.2ZM1005.4 659.5c7.2-4.8 13.6-5.7 18.3 1.7 3.1 5 7.6 10.9.2 16-6.2-1-5.4-7.9-10.6-10.4l-9.5 2.6c-4-4-1.2-6.6 1.6-9.9ZM335.8 170.2c5-4.8 10-4.4 14.7-2.5 5 2 7.7 6.4 8.4 11.7.3 2.2-.9 4.4-3 5.2-6.5 2.6-6.4-5.2-10.3-7-4.6-1.4-5.4 5.1-9.9 4.5-4.2-3.4-2-7.3.1-12ZM850.1 214.5c-4 2.7-6 10.5-11.2 5.2-4.3-4.5-1.3-11 2.9-14.5 4.7-4 11-5 15.6.5 2 2.7 4.2 6.4 3 10.8-4.3 3.7-5.9-4.2-10.3-2ZM590.7 322.8c-1.8-10.3 3-17 11.9-17.3 8-.3 12 6 10.6 14.4-5.3 3-6.5-3.6-10.3-3.5-3.7 2.7-4.6 10-12.2 6.4ZM1045.4 166.8c6-.1 11.2-.7 13.6 5.7 1.2 3.4 5 6.8 1.3 10.3-4 3.8-7 0-9-3.1-4.3-6.7-7.9 2.4-12.5.2-.5-5.3-2-10.8 6.6-13ZM1082.8 176c0 5.2-1.6 9-6 9.2-4.9.1-5.8-4.4-6.4-8.2-.6-4-3.4-7.8-1.9-13.2 6.8 1.5 11.1 5.4 14.3 12.2ZM95.9 393.3c1.8-3.3 2.6-6.4 6.9-7 2.3 6.2 6.7 12.2.5 18.8-2 2.1-4.8 4.1-7.6 1.8-4.7-4-1-8.4.2-13.6ZM1269 537.6c9.3-7.8 10.2-7.2 14 9.3-4.6-1.5-8.7-.3-12.2 1.2-4-3-3-6.4-1.8-10.5Z"/></g><path fill-rule="evenodd" clip-rule="evenodd" d="M1301.7 692c-6.3-26-11.8-51.9-17.4-77.9l-8.4-39c-8-36.6-18.6-72.3-30.1-107.6a677 677 0 0 0-42.2-102.8l-7.1-13.7a804.1 804.1 0 0 0-27.6-50.7c-27.6-45.3-58.4-88.3-97.4-124a336.4 336.4 0 0 0-102.8-65c-7-2.8-13.9-6-20.8-9.1-8-3.7-15.9-7.3-24.1-10.5-10.6-4-14.4-.7-18.9 7.3-8 14.7-18 28-33 36-40.4 21.6-82.6 33.2-127 13.6-18.3-8.1-35.3-20-48.8-35.4-6-7-12.2-8.3-20.5-9.5-22-3.3-36.8 4.7-49.3 23.1C610 151 584 160 556.6 162.6c-39.9 3.8-76-6.6-108.4-31.8a203.6 203.6 0 0 1-44.8-44.3l-9.7 4.5c-7 3.1-13.7 6.2-20 10-9.6 6-19.7 11-29.8 16-11.6 6-23.2 11.7-34.1 18.9-32 20.8-60 45.8-85.8 73.7a604 604 0 0 0-86.7 122.8 867.4 867.4 0 0 0-50 108.1 1213.2 1213.2 0 0 0-34.2 102 560 560 0 0 0-20.3 102.2c-.6 6.8-2.1 13.6-3.7 20.4-1.9 8.3-3.8 16.8-4.1 25.8-5.5 1-10.7 1-17 1 4.6-32.9 9.8-66 16-98.8 2.4-12 5.4-23.7 8.4-35.4l5.3-21.5c5.2-22.6 12.7-44.6 20-66.6l.1-.1.9-2.6a835.3 835.3 0 0 1 83.3-179c17-27.2 36.2-53 57.3-77 37.5-43 79.4-80.3 130.6-105.9l10.8-5.4c36.1-18.2 72.3-36.4 112.5-44.2 11-2.1 22.2-4.6 33-7.6 12.8-3.5 15.2-9.1 10.4-21.1l-1-2.2c-.7-1.6-1.5-3.3-1.7-5v-.4c-.6-3.6-1.3-7.8 3.8-8.9 4.3-1 5.5 1.6 7 5l.6 1.1c1.6 3.2 3 6.5 4.5 9.7 4.8 10.8 9.6 21.7 18.7 30.6 17 16.6 38 24.2 59.9 27.2l5.3.7c25 3.3 50 6.7 75.4 5.4 35.4-1.8 70.4-5.5 104.3-16.5 5.2-1.7 9.8-4.8 14.1-8.3 7-5.8 6.5-10.6.5-16.8-9-9.2-11-20.6-10.4-32.6 4-1.5 7.1-.5 7.7 1.8 7 30.4 29.7 36 56 39 34 3.8 66.4 14.3 98.9 25a399.8 399.8 0 0 1 71.4 34.6l18.7 10.5a271.8 271.8 0 0 1 67.1 53.2c22.8 24.3 44.1 50 62.7 77.6a762 762 0 0 1 45.1 74.5 1005 1005 0 0 1 86.8 242c5.7 25.4 10 51.3 14.3 77.5 2.2 13.2 4.3 26.4 6.7 39.7-3.2.9-6.7.9-11.3.9ZM575.3 143a84 84 0 0 0 49.9-37.7c-2.9-2.4-6-3-9.2-3.5l-3-.5c-6.5-1.5-13.2-2.7-19.9-3.9-27-4.8-54.1-9.7-74.2-32.8-1.4-1.5-4.7-1.7-7.1-1.8-27.6-.5-53.6 6.9-79.6 14.3l-11.3 3.2c.8 5.6 2.6 9 5.8 12.2 12 12.3 25.3 23.2 39.7 32.5 33 21 68.2 30.7 108.9 18Zm224.8.3c-31.6 4.3-57.3-9-81.2-27.6-1.6-1.7-3.3-3-5-4.2-3-2.4-5.7-4.5-6.9-8.4 10.1-3.8 20.7-5.8 31.2-7.9a178 178 0 0 0 33.2-8.6l5.3-1.8c4.4-1.4 8.8-2.8 11.9-5.8 16.8-16.2 36.3-15.6 56.5-10.6 13 3.3 26 7 39.6 11l19 5.6-5.6 6.5c-14.2 16.6-26.7 31.3-47 38.5-16.8 6-33.4 11-51 13.3Z" fill="#000"/><path d="M1119.6 692c-9.1-36.9-12.1-74.7-22-111.2-7.7-28.1-13.9-56.8-23.8-84-7-19.4-13.7-39-23-57.8-12.7-25-23.1-51.2-34.4-77-1.3-3-2.9-6.3 1.3-8.8 4.3-2.6 7.4-.5 9.8 2.6 3.8 5 7.8 10.2 10.6 15.9 10 20.4 19.4 41.1 29.1 61.6A612.7 612.7 0 0 1 1101 529c9 31.6 17.5 63.6 21.5 96.6 2.6 21.4 7 42.7 8.6 65.4-3.3 1-6.8 1-11.4 1ZM221.2 692c-.6-3 .4-5.8.4-8.7 0-49.6 9.7-98 16.8-146.7 5.1-35 13.4-69 22.8-102.9 6.8-24.4 18-47.5 32-69 2.3-3.6 4-10 10-6.9 6.3 3.2 3.3 9 1.4 13.6-7.2 17.6-16 34.7-22 52.7a740.8 740.8 0 0 0-31.3 138.7c-1 8.5-2.8 16.8-5 25-7.5 28.5-3.8 58.4-11 87-1.2 4.7.2 10.1.2 16.2-4.5 1-8.9 1-14.3 1Z" fill="#000"/><path fill-rule="evenodd" clip-rule="evenodd" d="M648.9 165.5c-9 6.6-10.5 15.7-3.6 28.3l4 2.7c2.3 1.5 4.3 3 6.5 3.6 9.5 3 17-2 21.6-9.1 4.7-7 5.5-16.9-1.9-22-7.3-5.1-16.6-10.9-26.6-3.5Zm5.4 17.4Zm0 0c3.8 2.8 7.6 3.4 10.9-.5a3.4 3.4 0 0 0-1.2-5.3c-4.4-1.6-9.2-2.6-9.7 5.8Z" fill="#000"/></g><g transform="translate(266 207)"><path d="M319.4 447.9c-5.2-33.5 7.2-101.6 19.9-129C352 291.7 387 229.5 411 213.5c24-15.9 77.8-40 96-50.3 18.2-10.3 60.4-19.7 89-18.5a312 312 0 0 1 95.3 19.8c30.3 12 73.4 32.5 95.2 57.3 21.9 24.7 25.4 22.7 43.8 52.8 18.4 30.1 21.2 48.8 28.4 59.8 7.3 11 31.8 25.5 51.4 50.6 19.7 25 28.5 28.9 34.7 51.8 6.3 23 7.3 29 2.5 37.3-4.7 8.2-14.9 21.3-27.1 21.3-12.3 0-28 2-46-11.7-18-13.8-34.5-17.2-47.7-33.9-13.2-16.7-26.7-14.6-42.2-30-15.5-15.6-27.7-12-56.4-21.4-28.8-9.4-36 9.6-63.2-3.4-27.1-13-32.6-1.6-51.8 10.5-19.2 12.1-38 24.7-58.5 31.8-20.5 7-67.3 20.9-87 18.4-19.6-2.5-44.3-13-65.6 1.2-21.4 14.2-28.9 18.8-37.2 21.8-8.4 2.9-7.6 2.2-15.5-5-7.9-7-6.1-7.5-13.7-10-7.5-2.6-16-15.7-16-15.7Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m353.3 506.3-2.7-7.4a64 64 0 0 0-5.7-13.4c-6.9-11-2.4-17 7.1-22.5 5.8-3.4 11.3-7.3 16.8-11.2l3.3-2.3c19.6-13.8 39.7-17 62.2-6 21.3 10.6 43.7 7.2 66.2 2.4 47.7-10.2 90.2-31.4 131.2-57.1a296.8 296.8 0 0 1 86.3-37c32.8-8 66.5-6.5 99.5 4 23.3 7.5 46.2 15.5 65.1 31 23.2 19.2 45.4 39.7 54.9 69.8l.5 1.6c1.5 4.4 3.4 9.8-2.8 11.5-4.5 1.2-5.7-2.7-6.9-6.4-.3-1.2-.7-2.3-1.1-3.2a165.9 165.9 0 0 0-77-79 195.5 195.5 0 0 0-123.9-18.7c-12.5 2-24 7-36.1 12.3-7.5 3.2-15 6.5-23.3 9.2 6.3 3.4 11.5 3.9 16.5 4.4.6 0 1.3 0 2 .2 47.8 5 93.8 15.8 133.5 45a215 215 0 0 1 17.8 15.1c5.1 4.7 10.3 9.5 15.8 13.7l1.5 1.2c15 11.5 30 23 49.4 26.7 28.4 5.3 47.2-13.8 39.8-41.6-8.3-30.9-29.7-53.1-52-74a258.5 258.5 0 0 0-89.5-54.4c-41.9-15.3-85-17.5-128.3-13.6-43.2 4-86 12.4-126.6 28.2-20.5 8-40.4 17.7-60.2 27.4a4282 4282 0 0 1-8 4c-39.8 19.3-74.3 46.5-108.8 73.6l-16.3 12.8c-2.1 1.7-3.7 4-5.3 6.4-2.9 4.3-5.8 8.8-12.6 9.4-1.7-11 5.8-17.7 12-23.2l1.5-1.3c23.1-20.5 46.5-41 72.8-57.5 7-4.4 9-10 9.6-18a371 371 0 0 1 37.9-140.2l7-14.5c6.8-14.7 13.7-29.4 23.4-42.9-58.2 21.7-101.9 60-134 113.2-32.3 53.4-40.2 111.8-37.5 174.8-8.8-5-9.2-10.7-9.6-16.6a285 285 0 0 1 19.6-130 270 270 0 0 1 77-106c26.4-21.7 55-39.5 88-49.4 6.3-1.9 8.4-6.7 10.6-12l.5-1c6-14 9.5-14.8 20.5-4.9 5.5 5 10.7 6.4 18.5 5 32.1-6.1 64.1-4.7 96.3 1.6 71 14.1 127.8 51.1 172 107.4a223.4 223.4 0 0 1 39.2 75.2c2.7 9 8.4 17 16.2 22.3 29.9 21.3 54 47.6 70.1 80.9 7.3 15 10 31.5 1.9 45.2a42.4 42.4 0 0 1-47.2 22c-18-3.2-32.8-10.7-46.6-21.6l-14.7-12c-20.3-16.6-40.6-33.3-65.5-43.6a299.6 299.6 0 0 0-125.6-23c-13.6.5-25.1 7.9-36.4 15.1l-8.2 5.2c-40.5 24.2-85.4 34.8-131.1 42.8-9.7 1.7-19.7.2-29.1-2.6-7.5-2.3-11.1.7-14 7-10.2 22-18 44.7-18.3 69.6 0 7.5-.8 15-1.5 22.6-.4 4-.8 7.8-1 11.7-.5 6.1-3.6 9.6-9.7 9.7l-4.5.2c-6.1.2-12.4.5-19-1.5-3.2-15-8.5-29.4-13.9-44-3.3-9.2-6.6-18.3-9.5-27.8ZM676 175a274.3 274.3 0 0 0-107.7-22.3c-34.8-1-58.8 17.8-72.8 48.1l-7.9 16.8a523 523 0 0 0-32.1 79.2c-6.5 23-10 46-13.7 71.8l-.6 4.6c110.7-63.6 226-93.4 351.7-69.7-11.2-31.4-32.2-54-52.8-76.3l-1.7-1.9A225.9 225.9 0 0 0 676 175Zm30.9 3.7a143.6 143.6 0 0 1 45.8 24.7c46 32.5 76.4 74.6 96.3 125-10.5-3.3-20-8-29.3-12.8L811 311c-4.6-2.2-7.4-8.6-10-14.5l-2-4.3a317.8 317.8 0 0 0-89.7-109.1 6.4 6.4 0 0 1-2.4-4.6Z" fill="#000"/></g><g transform="translate(791 871)"><g fill-rule="evenodd" clip-rule="evenodd"><path d="M104.5 69.3c5.8 1.4 12 3 10 11.7-4 1.5-6.9-.3-9.8-2.1-3.5-2.1-7-4.2-12.2-1.2 1.5-8.5 5.9-10 11.2-8.6.3 0 .5 0 .8.2Zm93.3 5.8c3.4 3.2 1.2 7-1.4 10-1.3.5-2.5 1.1-3.6 1.7-3.5 1.9-6.4 3.4-10 1.6-3-5.4-2.7-10.4 3-13.7 3.8-2 8.6-2.6 12 .4Zm-24.2 13.2c1.2-7.3-1.2-11.4-9.3-10.4-4.9.7-9.6 1.9-8.8 8.2.7 6.6 5 6.2 9.1 5.8l3.6-.2c1.5.1 3-1.1 5.4-3.4ZM126.3 106l1.5-.3c1.5-.2 3-.5 3.2-3-16.9-.8-30.7-8.7-44.4-20.5a40.8 40.8 0 0 0 39.7 23.8Zm.2-20c2.4 6.8 7.8 6.8 13.3 5 3.8-1.4 3.5-5.4 3.3-8.7-.4-5-3.8-6-8-6.3-6.1-.5-8.2 2.8-8.6 10Z" fill="#fff"/><path d="M186.9 60.6a76.9 76.9 0 0 1-41 4.6c-13.1-.8-24.3-4.5-35.4-9C99.3 52 83.6 58.4 76 69.5c-6.7 10-6 20 3.5 30 10.8 11.5 24.3 20.7 40 19.6 9-.7 18-1.6 27-2.6 20.7-2.1 41.3-4.3 62.4-3 17.5 1 26.1-15.5 21.2-32.7-5.7-19.4-22.6-27.3-43.3-20.1Zm-22.6 17.3c8-1 10.5 3 9.3 10.4-2.4 2.3-4 3.5-5.4 3.4-1 0-2.3 0-3.6.2-4 .4-8.4.8-9.1-5.8-.8-6.3 4-7.5 8.8-8.2Zm-38 28 1.5-.3c1.5-.2 3-.5 3.2-3-16.9-.8-30.7-8.7-44.4-20.5a40.8 40.8 0 0 0 39.7 23.8Zm71.5-30.8c3.4 3.2 1.2 7-1.4 10-1.3.5-2.5 1.1-3.6 1.7-3.5 1.9-6.4 3.4-10 1.6-3-5.4-2.7-10.4 3-13.7 3.8-2 8.6-2.6 12 .4Zm-71.3 10.7c2.4 7 7.8 7 13.3 5 3.8-1.3 3.5-5.3 3.3-8.6-.4-5-3.8-6-8-6.3-6.1-.5-8.2 2.8-8.6 10Zm-22-16.5c5.8 1.4 12 3 10 11.7-4 1.5-6.9-.3-9.8-2.1-3.5-2.1-7-4.2-12.2-1.2 1.5-8.5 5.9-10 11.2-8.6.3 0 .5 0 .8.2Z" fill="#000"/></g></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><path d="M7.4 185c5.4-8.7 22.6-12.2 32.1-7.3 6.6 3.4 13 7.6 20 1.7 6.5-5.6 4.6-12.2 1.5-18.7-1.6-3.2-.8-5.7 2.2-7.5 3-1.9 5.5-1.1 8.2.8a20.1 20.1 0 0 1 8 21.5c-1.6 7.3-3.8 16-12.7 19-4 1.4-8.8 3.5-12.3 2.4-15.4-4.7-33.8 3.4-47-12Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M215.1 76.6c5-12 9-29.4 24.1-22.5 20.7 9.4 13.9 30.7 9.7 47.4-1.6 6.3-14.5 15.9-18.3 14.3-16.3-6.8-19.2-21.7-15.5-39.2ZM442 113.4c-8.6 7.5-17 7.6-22.2-1.5-9-16-8.6-32.8 3.3-47.2 2.5-3 13.8-3.6 16.3-1 14 15 14.6 31.8 2.6 49.7Z" fill="#000"/></g><g transform="translate(610 680)"></g><g transform="translate(774 657)"><path d="M81.4 35C60 29.6 52 33.2 40 52.6c-2.4 4-3.4 11.4-10.6 7-5.6-3.4-5.3-8.8-2.6-14.6a51.4 51.4 0 0 1 38-30.7 33.1 33.1 0 0 1 37.5 26.4c.9 5.3.1 10-4.8 13.6-11.2-1.3-8-14.2-16-19.1ZM246.2 32.8c14-6.2 27-12.4 41.2-1.9 5.1 3.7 9 8.8 11.3 14.7 2 5 2.3 10.7-2.7 13.8-5.7 3.5-8.1-2.1-11-5.6-10.4-12.8-18.4-13.7-32.4-4.6-4 2.6-6.8 8-13.5 7-5.7-9.6-.1-16.3 7-23.4Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+1 −0 viewer/assets/avatars/zoe.svg added View file
@@ -0,0 +1 @@
1+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1744 1744" fill="none" shape-rendering="auto"><metadata xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/"><rdf:RDF><rdf:Description><dc:title>Notionists</dc:title><dc:creator>Zoish</dc:creator><dc:source xsi:type="dcterms:URI">https://heyzoish.gumroad.com/l/notionists</dc:source><dcterms:license xsi:type="dcterms:URI">https://creativecommons.org/publicdomain/zero/1.0/</dcterms:license><dc:rights>Remix of „Notionists” (https://heyzoish.gumroad.com/l/notionists) by „Zoish”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)</dc:rights></rdf:Description></rdf:RDF></metadata><mask id="viewboxMask"><rect width="1744" height="1744" rx="0" ry="0" x="0" y="0" fill="#fff" /></mask><g mask="url(#viewboxMask)"><g transform="translate(531 487)"><path d="M554 727.7c-99.2 297-363.8 388.6-503.7 19.8-19.3-50.7 31-69.5 66.2-91.9 24.1-15.3 36.8-28.5 35.3-42.2-7-64.4-36.9-243.8-36.9-243.8l-3-5.8s.7-1.6-2.2 1.2c-3 3-9.9 34.2-37 34.2-24.5 0-49.2-10.9-61-86.3C7.2 285.6 9.6 214 40 201c12.5-5.3 24-7.2 35.2-.8 11.3 6.4-13-22 112-126C268.4 6.4 396.7-3.5 448.5 8 500.3 19.5 552 44.8 574.9 98.5c27.8 65-25.9 114.3-14 262.5-2.2 53.6.8 171.2-146.6 210.6-28 7.5-19.3 48.4 22.7 58.4 67 21 117 72.3 117 97.9" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="m554 266.2.1-1.4c4.1-36.4 8.2-71.7 27.1-103.4 6.5 4.4 5.7 10 3.7 15.2-19.9 51.2-18 104.4-16.2 157.6l.4 14c2.1 66.4-14.5 126.8-58.7 177.5-15.4 17.6-35.8 29.8-56.5 40.3-21.4 11-25.9 20.1-19.2 43.6l.8 2.6c1.4 3.9 2.8 7.9-1 11.8-4.5 4.6-9.5 3.3-14.8 1.8l-.6-.1a406.4 406.4 0 0 1-137-68.3c-6-4.4-10.8-10.3-15.5-16.1l-.3-.4c-2.5-3-3-7.8.5-10.4 3.3-2.5 5.8-.5 8.7 1.8l1 .9a145.5 145.5 0 0 0 76.3 31.7c13.4 1.4 26.6.9 40 .4 7.4-.3 14.8-.6 22.3-.5 10.2 0 18.7-4.7 26.7-9.2l2.8-1.6c27.8-15.5 54.3-32.8 72.2-60.7 16.1-25 25.9-52.2 31.6-80.9 7.2-36.1 6.6-72.7 6-109.8-.3-12-.5-24.2-.5-36.4ZM50.6 190.8c21.9-1.7 34 11.2 44.3 26.3a140.4 140.4 0 0 1 22.4 61.5c.5 3.7 1 7.6-1.2 11.3-4.5.6-4.9-3-5-5.6-.5-20.7-9.7-38.7-18.9-56.1-6.6-12.5-16.2-24.6-31.4-27.6-17.2-3.5-33 12-40.8 32.2-14.5 37.6-12 74.6 1.4 111 5.8 15.9 13.1 32.1 27.8 43.2 14.8 11.3 32.7 9.3 43.6-5.7l2-2.5c2-2.6 4-5.1 5-8 2.1-5.8 5.4-11.2 11.3-10.4 6.8 1 8 8.3 8.7 14a3661 3661 0 0 0 22 156.7l5.9 38.8c2.6 17.1 5.6 41.7 3.6 52.1a28 28 0 0 0-.3 2.2c-.4 2.8-.6 5-4.2 5.5-4.9.8-7-2-7.7-6.4-2.3-17-3-23.6-4-49.6-.9-25.2-5.6-50-10.4-74.9l-5-27c-5.2-30.8-10.3-62-10.8-97l-2 3c-7.6 11.3-13.7 20.5-24.5 24a40.5 40.5 0 0 1-46.1-12.5 127.8 127.8 0 0 1-28.8-55.8c-8.4-34-9.9-67.1.9-100.6 5.2-16.1 23.7-44.7 42.2-42Zm34.6 127.5c4.4 3.2 8.4 6 12-5.4-1.1-42.2-14.7-69.2-35.8-70.3 11.2 14.6 22 28.8 23 48.5a32.3 32.3 0 0 1-10.7-8.8c-2-2.2-4-4.4-6.5-6l-3-2.4c-4.8-3.6-9.7-7.4-17.8-4.5 3.8 5.8 9 10 14.3 14 6 4.7 12 9.3 15.6 16.5-10.6 7.7-15.2 17.7-9.7 29.9 4.8 10.5 11.9 19.2 25.9 19.8-.6-6.3-4.7-10.9-8.8-15.4-5-5.4-9.7-10.6-7.5-18.6 3.2-1.5 6.2.7 9 2.7Z" fill="#000"/></g><g transform="translate(178 1057)"><path d="M1312 691.3 3 694s25.8-189 56.2-235.7c16.3-25-10.6-45-16.4-70.3-5.8-25.2-11.8-57.9-10.5-67.4 1.2-9.5-1.4-29.3-4.3-43.3-3-14-.2-28.3-7-40.5-7-12.1-8-25 0-30.7 8-5.8 341.2-123.5 341.2-123.5L372.5 61s47-34.8 72.2-40.7c25.2-5.9 47.1-9.7 47.1-9.7s-5.2 24.3-1.4 36.6c4 12.4 93 68.9 154.7 63.8 72-6 139.4-45.2 144.8-60.7 5.4-15.6-3.3-19-6.6-31.8C779.9 5.7 788 1 802.6 9c14.5 8 211.3 110.9 254 130.4 42.6 19.6 202.6 69.4 202.6 69.4s30.2 8.8 26.7 17.2c-7.6 17.9-24.1 1-24.1 49.6 0 30-25.3 125.6-25.3 125.6s39.6 123.7 46.2 148.2c6.7 24.5 29.3 142 29.3 142Z" fill="#000"/><mask id="bodyVariant06-a" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="516" y="231" width="267" height="460"><path d="m528 691-12-460h266.5L773 691H528Z" fill="#fff"/></mask><g mask="url(#bodyVariant06-a)"><g transform="translate(396 278)"></g></g><path fill-rule="evenodd" clip-rule="evenodd" d="M409.2 694c-2.6-57.2-5-114.3-4.4-171.6.8-67.8.7-135.8-.7-203.6-.2-8.6 0-17.2.1-25.7.3-16.5.5-33-1.4-49.5-.2-1.4-.2-2.8-.2-4.3 0-3.7 0-7.6-2.7-11.7l-6.3 3c-8 4-16 8.1-25.8 6.6-11.6-1.9-17.4-6.4-16.6-18.3a489 489 0 0 1 4.5-39.6c2-12.6 2.6-25.3 3.2-38.2.8-15.2 1.6-30.7 4.5-46.4-18.3 5-35.6 10-52 17.8-22.4 10.7-46.6 16.2-70.6 21.7l-5.4 1.2c-25 5.6-49.5 13-73.4 22.2-8.8 3.4-17.8 6.4-26.8 9.4a376.2 376.2 0 0 0-41.7 15.7 993.2 993.2 0 0 0-61.3 32c-7.5 4.2-8.7 11.1-2 18a21.7 21.7 0 0 1 5 23.8A23.5 23.5 0 0 0 37 275a61.3 61.3 0 0 1 4.3 28c0 4.3 0 8.6.3 12.7a281 281 0 0 0 34.8 109.3 467.7 467.7 0 0 1 20 44.4c5 11.8 9.8 23.6 15.4 35 2 4 12.6 30 24.9 61.9 1 2.8-.4 7.2-1.9 11.7-1.5 4.6-3 9.3-1.9 12.2 1.2 3 4.6 4.3 8.2 5.7 3.2 1 6.4 2.3 8.6 4.7 12.2 13.8 15.7 24 20.3 37.7l.2.4c7.5 22.1 8.5 47 8.6 54a32.6 32.6 0 0 1-14.3.2c2-14.3-1-27.3-4.1-40.3-1-4.6-2.2-9.2-3-13.9-2.8-15.3-9.5-26.4-24.5-31.7-10.5-3.6-13.8-10.2-12.7-21.8l1-7.5c1.4-9.9 3-20.1-3-29-15.5-23-26.6-48.3-37.9-74l-6.8-15.4-1.4 2.2a42.5 42.5 0 0 0-6 11.5l-8.4 29C46.2 542.2 34.6 582.3 26 623.2c-5 23.5-7.9 47-9.8 70.8H1.7c-3.5-11.5-1-22.5 1.5-33.5a185 185 0 0 0 2.3-11.1C12 609 22.4 569.7 32.8 530.3l.5-2.1c7.7-29.1 18.3-56.8 29.5-84.5 2.3-5.6 1.2-9.2-2.8-13.7-15.2-17.5-20.3-39.6-23.8-61.6l-1.8-10.8c-4-23.5-7.9-47-6-71-6.7-7.8-7.3-17.4-7.8-27-.6-10-1.2-20-8.7-28.3-6.4-7 2.5-25.2 15-32.2 33.2-18.5 66.8-36 103.5-46.8A517 517 0 0 0 181 134c16.9-7 34.5-10.8 52.1-14.8 11.2-2.5 22.3-5 33.2-8.2 13.6-4 26.7-9 40-14a420.5 420.5 0 0 1 51-17.2c7-1.7 11.3-6.1 11.4-13.6.1-7.7 4.2-12.3 10.1-16.7 22.5-16.9 48.7-25 74.8-33.2l3.4-1c4.2-1.4 8.1-3.2 12-5a65 65 0 0 1 20.5-7c3.3-.6 6.5-1.2 10.2 0 2 6.6-2 9.9-6.8 11.9l-15.4 6.3A806.2 806.2 0 0 1 425.2 42c-7.8 2.7-14.7 7-21.6 11.1-5.8 3.6-11.6 7.1-18 9.7-2.3 1-4.2 5.6-4.6 8.7-3.3 29.3-6.3 58.6-9.3 88l-1.4 13.2-1.4 14.1c-.8 8.6-1.7 17-2.7 25.6 0 .8-.2 1.5-.4 2.3-.5 3-1 6.1 1.8 8.5 3 2.4 5.7 1 8.4-.5l2.2-1c28.3-12.3 48.4-34.2 68.5-56 4.5-5 9-10 13.6-14.7 14.7-15.4 26.9-18.9 45.7-9.7 5.7 2.7 10.9 4.6 17.7 2.1-3.6-7.4-7.5-14.6-11.4-21.8-8.4-15.4-16.6-30.6-22.2-47.1-5-14.6-3.5-29.6-2.1-44.4l.3-3c.5-5.6 4.3-10.2 11.4-10.7 5.9 5.8 6 15.3 6 21-.2 25 18.1 33.3 34.7 40.8l.5.3c50.3 22.9 103.7 25 157.4 16.8a149.8 149.8 0 0 0 80.3-37.2c11.4-10.4 10-22.9 4.5-34.3-4.5-9-1.5-14.8 3.7-20.6 4.7-5.2 10.3-3 15.5-1l2.3 1c30.8 11 59 27.2 87.4 43.4l5 3a493 493 0 0 0 41.3 20.2c12.8 5.8 25.6 11.7 38 18.5 34.6 19 70.1 36.4 105.7 53.6 18.5 9 38.1 15.7 57.7 22.5l16.3 5.8c13.9 5 27.9 9.6 41.8 14.3 12 4 24 8 35.8 12.2 5.4 2 11 2.2 16.6 2.5 5.9.3 11.8.6 17.5 2.8l4.5 1.7c7 2.5 13.8 5 18.8 11.2 7.6 9.5 7.3 17.4-3 23.7-12.2 7.3-18.8 15.5-13.4 30.2 1.6 4.4-.3 9-2 13.3l-.5 1.2-.2.5c-10 25-16.8 79.6-18.6 93.4l-.3 2.8c-3.8 27 2.8 46 10.2 67.7a558 558 0 0 1 5.4 16.4c11.8 38.4 23.2 77 33.6 115.8a1073 1073 0 0 1 21.4 99c.6 3.4.4 7 .2 11v3a25.1 25.1 0 0 1-12.3.2c-9.4-69.9-29.7-136.2-50-202.4A3709 3709 0 0 1 1242 425a158 158 0 0 0-15 32.1 238.2 238.2 0 0 1-50.9 90l-1.2 1.3c-4 4.4-8.8 9.5-8 13.1 2.7 13-3.9 20.6-10.8 28.6l-3.2 3.8a41.5 41.5 0 0 0-8.6 20c-1.3 8.2-2.8 16.4-4.3 24.6a383.2 383.2 0 0 0-7.3 55.5h-14.3c2-6.1 2.4-13.2 3-22.2a250.7 250.7 0 0 1 11.8-67c.7-4 1.7-9.9 11-19.5 8.5-8.6 8.4-18.8 8.3-25.2 0-2.4 0-4.2.4-5.2 5.6-14.2 25.4-39.5 35.1-52 3-3.7 5-6.3 5.4-7.1 23.1-38 39.4-79.9 48-123.6 2.8-13.7 5-27.6 7.3-41.6a1160 1160 0 0 1 7.2-41.8c2.5-13.3 5-26.5 5.6-40.2.3-7.4 6.6-11 12.5-14.5l1.3-.8.5-.2.4-.3c3.2-2 6.7-4 6.2-8.3-.5-4-3.9-5-7.3-6l-1.3-.4c-10.2-3-20.7-5.2-31.1-7.4a299.7 299.7 0 0 1-39.6-10.2l-20.3-7c-13.9-4.9-27.7-9.6-41.3-15a1511.4 1511.4 0 0 1-77.9-32.1 1475.9 1475.9 0 0 1-87-43.7 346 346 0 0 0-58-26c19.6 34.7 23.1 72.8 26.7 110.8.9 9.7 1.8 19.3 3 28.8 1.5 12.7-3 23.5-13.6 30-12.3 7.4-25.3 6.2-37.6-1.4l-3-2.2c-2.2-2-4.6-4-8.3-3.8-.4 49.6 0 99.2.2 148.8.6 101.4 1.2 203-3.3 305a41.8 41.8 0 0 1-16.6.3c.5-20.4 1.5-40.6 2.4-60.7 1-23.4 2.1-46.7 2.7-70 .8-39.9.6-79.7.4-119.6l-.2-22.4c-.2-53-.8-106.1-1.3-159.2l-.2-19.9c0-2 .1-4 .4-5.9.5-5.5 1.1-11-3.3-16.2-6.8-8-13.3-16.1-19.8-24.3L834 178.6a96 96 0 0 0-27-21.6c-10.4-6-14.9-3-17.3 8.3-1.5 6.7-.8 13.2 0 19.7.4 3.7.8 7.4.8 11 .4 80.8-1.6 161.5-4.3 242.2-1.5 45-2.4 90.3-3.1 135.4-.4 23.7-1.5 47.4-2.5 71-.8 16.5-1.5 33-2 49.6-4 0-9.9-.5-13.8-1.3.8-23.1 2-48.1 3-70.2a1987 1987 0 0 0 2.5-58.5c.1-34.5 1.5-99.8 2.8-162.4 1.1-52.7 2.2-103.4 2.5-132.4a6422.8 6422.8 0 0 0 0-105.7c-11.4-1.8-21 3.7-29.6 11.7a60 60 0 0 1-28.4 14.2c-40.4 9-81.3 11.7-122.4 5-21.3-3.4-41.6-9.6-57.9-25-3-3-6.5-5.6-10.6-8.6a374 374 0 0 1-6.7-5.1c0 4.7 1 20.7 2.4 40.7 2.2 33.3 5.2 77.9 5.3 100.7 0 18.2.9 36.4 1.7 54.6l.9 19c0 2.4 5 251 5 305.2v3.5c-.1 4.8-.3 9.7 1.7 14.4-5.6.1-11-.2-16.6-1 1.8-17.9-.6-131.4-2.4-212.6-.8-37.8-1.4-68.6-1.4-79.5 0-41-2.2-82.1-4.4-123.1-1.8-35.9-3.7-71.7-4.2-107.6-.1-10.7-2.9-16.2-13.3-19.5-10.6-3.5-17.7.8-23.5 8-9.7 12-20.3 23-31.9 33.2a61.8 61.8 0 0 0-23.4 49.5c-1 54.5 1 108.8 2.9 163.2 1.9 53.2 3.7 106.4 2.9 159.6-.5 29.7.2 59.5 1 89.2l.8 40.6h-14.3Zm513-569.4c-4.1-23.4-13.4-45-31.4-60.1-23.8-20-52.1-32.5-80.7-45l-14.8-6.6a44.6 44.6 0 0 1 6.6 40.4 133 133 0 0 1-18.5 36.5c-12.7 16.8-19.9 35.7-14.7 58.5 14.7-8.2 28.4-13 44.9-4.6a123.6 123.6 0 0 1 43.1 39c13.6 18.2 27.3 36 46.2 49.1 7.6 5.3 15.7 5 23.3 2 7.7-3.1 7.6-10.8 6.8-17.9-1-9-1.5-18.1-2-27.3-1.4-21-2.7-42.2-8.8-64Zm-397.8-8c-2.6-4.6-5.1-9.3-7.5-14.2a24155 24155 0 0 0-12.2-27.3c84 49.3 169.7 54.2 259.7 13.3l-3.2 7.4c-3.6 8.2-7 16-8.7 24.6l-.6 3c-.9 4-1.7 8-1.4 12.2 1.2 20-4.4 27.7-23.4 34.7-31.6 11.6-64.2 13-97.3 11a243 243 0 0 0-24.4-.4c-19.7.7-35.9-8.2-52-17.2l-6.5-3.5a17.8 17.8 0 0 1-7.6-10c-3.3-12-9.1-22.8-15-33.5Z" fill="#fff"/></g><g transform="translate(266 207)"><path d="M304 281.5a44 44 0 0 1 14.7-13.4c9.7-6 18.3-13.6 25.5-22.5 8.4-10.5 21.6-16.2 34.5-20.7 9.5-3.2 15.2-7 17.2-18.7 2.5-14.7 17.7-19.1 30-22.4 38.7-10.2 72.9-28.8 105.8-51a343.3 343.3 0 0 1 88-43.2c24.8-7.8 49.2-11 74.2-8.6 31.5 3 61.8 12.5 81.3 39.2 21.4 29.3 28.9 63 19.7 99-2.2 8.6-4.9 17.1-7.6 26.8 11 9.5 25 16 35.7 27 11.7 12 21.6 24.6 26.6 40.7 1.2 4 3.5 8.6 2.6 12.3-4.7 18.6 8.7 35.7 9.9 53.6 2.4 36.4-21.4 94.6-23.7 95.7-1-5.7-10.2-2.7-7.6-12 6.6-23.5-6.8-58-9.6-74.4a58.4 58.4 0 0 0-21.2-37.3c-91.2-76.2-90.1-76.3-187.6-43.4-31 10.5-57.3 30.9-85 47.8-6.9 4.1-12.5 9.7-20.6 12.5-16.9 5.7-22.6 2.9-24.4-15l-.9-5c-9.6-.7-15.3 5.7-21.2 10.8-28.1 24.5-48 52.6-40.9 92.9a33 33 0 0 1-4.7 20.9c-14.5 26.4-18.3 55.3-20 84.6-.6 9-4 14.5-13 16-10 1.8-10.8-5.5-13.5-12.6-7.8-20.4-10.6-42.7-25.2-60.4-12-14.6-25-24.4-44.8-15.7-10.2 4.4-14.9-2.9-20-9.1-15.7-19.6-19.7-42.8-20.6-67-1.7-45 11-85.3 39.6-120.4 1.8-2.3 4-4.3 6.8-7Z" fill="#000"/></g><g transform="translate(791 871)"><path d="M159.8 103c-3.2-2.8-6-6.4-9.7-8.1-18-8.5-31.4-21.7-44-36.9-14-16.7-28-34.4-49-43.4-8-3.5-16.3-7.8-24.7 0C22 24.1 9.6 33 12.4 49.1c2.5 14 11 24.6 22.6 33.8 26.5 21.1 58 26.5 90 30.7 11.8 1.6 25.3 1.5 34.8-10.6Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M104.8 38.9a85.7 85.7 0 0 0-24-23.6c-4.2-4.4-9.2-6.3-14-8-2-.8-4-1.5-5.8-2.4-22-10.3-48.1.7-57.4 23.3a50.7 50.7 0 0 0 16.1 58.2c20.7 17.7 45.5 30 72.1 35.7 22.7 5 45 7.8 67.9.5 8.8-2.8 16-7.1 17.1-16.5 1.1-8.2-3.5-14.4-10.8-18.7-1.5-.9-2.9-2-4.3-3.2-1.5-1.2-3-2.4-4.8-3.4-19.5-11.2-38.2-23-52-42Zm52 61.3 3 2.8c-9.5 12.1-23 12.2-34.9 10.6-31.8-4.2-63.4-9.6-90-30.7a55.9 55.9 0 0 1-22.5-33.8C9.9 34.8 19.5 26 29 17.7l3.4-3c8-7.4 15.7-4 23.3-.7l1.5.6c19.9 8.6 33.4 24.8 46.6 40.7L106 58A131.4 131.4 0 0 0 150.1 95c2.5 1.2 4.6 3.2 6.7 5.3Z" fill="#000"/></g><g transform="translate(653 805)"></g><g transform="translate(901 668)"><path d="M65.7 103.7c-.6 21.6 16.4 30.6 27.5 43.5 8.5 10 18.5 18.7 13.7 34.4a39.6 39.6 0 0 1-40.8 27.6 104 104 0 0 1-36.4-11A22.2 22.2 0 0 1 19 187.6c-1.7-3.8-5.4-7.8-.5-11.4 4.6-3.4 7 0 10 3.7 11 13.3 26 16.4 42.6 15.7A23.2 23.2 0 0 0 93 180.8c3.6-8.3-1.6-15.2-6.3-20.8-9.3-11-20-20.5-27.4-33.2-8.3-14.2-7.6-44.1 2.2-57.4 1.9-2.5 3.6-5 7.2-3.1 3.8 2 3.4 5.5 2.2 9a69.3 69.3 0 0 0-5.2 28.4Z" fill="#000"/></g><g transform="translate(610 680)"><path d="M407.4 122.5c13 .3 25.4 1.1 37.6 2.5 3 .4 5 3.3 5 6.7 0 3.3-1.7 5.6-4.7 7-11.2 4.8-22 8.2-33.7.2-6.5-4.5-9-8.7-4.2-16.4ZM251.2 124c6.4 2.8 5.6 6.6 3 10.6-5.9 8.6-27.3 12.5-36 6.6-5-3.4-8-8-5.6-14 2.5-6.2 7.7-5.6 12.8-3.6 8.3 3.3 16.5 1.7 25.8.4ZM419.6 111c-4.2-9.5-9.9-15.2-19.8-15.7-6-.3-7-5.1-8.9-9.8 2-1.5 3.5-3.7 5.3-3.8 21.1-1.7 42.4-1.8 63.5-.1 6 .4 9.3 8 3.2 10.4-10 4-12.5 13.2-18.5 19.8-8.2 9-15.2 9.1-24.8-.8ZM229.6 81.1c12.2.7 23.1 1 34 2 3.6.3 8 1.8 8 6.7 0 5.6-4.6 5.2-8.3 5.1-6.3 0-9.7 2.7-12.5 8.6-3.4 7.4-6.9 15.3-18 14.8-10.5-.6-15.1-7.2-18.2-15.2-2-5.7-4.9-8.4-10.9-8.2-3.4.1-7.1-.2-7.5-4.9-.4-5 3-6 7-7.2a67.7 67.7 0 0 1 26.4-1.7Z" fill="#000"/></g><g transform="translate(610 680)"></g><g transform="translate(774 657)"><path d="M47.1 22c23.6-.3 45.4-8.9 68.1-5.8 18.2 2.5 36.3 4 54.6.9 6.6-1.2 11.6 2 13 12 1.5-13.5 13.4-12.8 17.1-11.2 15.5 6.6 30.2 1 44.9-.5 20-2 48.5 10.6 58.3 28.4a52 52 0 0 0 4.4 6.1c2.8 3.7 7.3 7.2 3 12.1-4.1 4.6-9.2 1.7-13-.3C289 59 280.8 53.7 273 48a18 18 0 0 0-19-2.4 76.4 76.4 0 0 1-38.9 4.4c-14.4-1.5-29.5 3.4-43 2-21.5-2.5-43.2 3.4-64.2-3.5-8.4-2.8-16.7-6.9-25.1.2-.9.7-2.7 1.3-3.6.9-12.3-6-24.4 0-36.4.1-10.2 0-20.2 3-30.3 1.6-3.8-.5-9.2 2-11-3.6-2-6.2 4-8.2 7.5-10.3C17.4 32.2 26 26.7 36.7 26c3.2-.2 6.3-2.4 10.4-4Z" fill="#000"/></g><g transform="translate(0 559)"></g></g></svg>
+0 −0 viewer/assets/ballot.png added View file
Binary file not shown.
+0 −0 viewer/assets/doctor.png added View file
Binary file not shown.
+0 −0 viewer/assets/judge.woff2 added View file
Binary file not shown.
+0 −0 viewer/assets/mic.png added View file
Binary file not shown.
+0 −0 viewer/assets/moon.png added View file
Binary file not shown.
+0 −0 viewer/assets/person.png added View file
Binary file not shown.
+0 −0 viewer/assets/robot.png added View file
Binary file not shown.
+0 −0 viewer/assets/seer.png added View file
Binary file not shown.
+0 −0 viewer/assets/sun.png added View file
Binary file not shown.
+0 −0 viewer/assets/thought.png added View file
Binary file not shown.
+0 −0 viewer/assets/villager.png added View file
Binary file not shown.
+0 −0 viewer/assets/werewolf.png added View file
Binary file not shown.
+0 −0 viewer/assets/zzz.png added View file
Binary file not shown.
+19 −0 viewer/bridge.js added View file
@@ -0,0 +1,19 @@
1+// The page around a game's viewer hands it the replay (Shoal's public/app.js): the viewer runs in a frame with scripts
2+// only, says it is ready, and gets {shoal: 'replay', name, text}. Opened by itself, it reads ?replay=<file> instead,
3+// so a replay can be watched from a clone: python3 -m http.server, then viewer/index.html?replay=../replays/x.json
4+// A live room (docs/games.md §8.4) opens the viewer as index.html?live. shoalLive(fn) says {shoal: 'ready', live: true}
5+// and calls fn(batch) for each {shoal: 'live', room, you, messages}: you lists the seats this viewer controls, the first
6+// batch holds all the history it may see, and each message is the room's (§8.3) plus its sequence number n: {n, to,
7+// version, obs, legal} asks a seat to act, {n, to, obs} tells one seat, {n, event} is public, {n, end} ends the room.
8+// shoalAct(seat, version, action) plays for a seat in you, answering the request with that version.
9+window.shoalReplay = start => {
10+ addEventListener('message', e => { if (e.data && e.data.shoal === 'replay') start(e.data.text, e.data.name) })
11+ const local = new URLSearchParams(location.search).get('replay')
12+ if (local) fetch(local).then(r => r.text()).then(t => start(t, local))
13+ else if (parent !== window) parent.postMessage({ shoal: 'ready' }, '*')
14+}
15+window.shoalLive = fn => {
16+ addEventListener('message', e => { if (e.data && e.data.shoal === 'live') fn(e.data) })
17+ if (parent !== window) parent.postMessage({ shoal: 'ready', live: true }, '*')
18+}
19+window.shoalAct = (seat, version, action) => parent.postMessage({ shoal: 'act', seat, version, action }, '*')
+1080 −0 viewer/index.html added View file
@@ -0,0 +1,1080 @@
1+<!doctype html>
2+<html lang="zh-CN">
3+<head>
4+<meta charset="utf-8">
5+<meta name="viewport" content="width=device-width, initial-scale=1">
6+<title>狼人杀</title>
7+<style>
8+/* The 狼人杀 table people know from NetEase's app: numbered coin seats down both sides, a moon or sun medallion with
9+ 第N夜 / 第N天 on top, one status line ("【4号】发言中…… 47秒"), the judge's cards, speeches, the exile vote board and
10+ the full-screen role card and victory screen; plus what watching agents needs: a god view (role tags, the night's
11+ moves, each agent's reasoning in grey italics), a log and a night/day timeline. Replays play night by night; a live
12+ room (?live) lets a seated person speak, vote and act. Assets and their licences: viewer/NOTICE. */
13+@font-face { font-family: ShoalJudge; src: url(assets/judge.woff2) format('woff2'); font-weight: 700; font-display: swap; }
14+@property --bg { syntax: '<color>'; inherits: true; initial-value: #0d1326; }
15+@property --stage { syntax: '<color>'; inherits: true; initial-value: #141c38; }
16+@property --card { syntax: '<color>'; inherits: true; initial-value: rgba(20, 28, 58, .86); }
17+@property --ink { syntax: '<color>'; inherits: true; initial-value: #e9e7f2; }
18+@property --muted { syntax: '<color>'; inherits: true; initial-value: #9097b4; }
19+@property --line { syntax: '<color>'; inherits: true; initial-value: #263055; }
20+@property --accent { syntax: '<color>'; inherits: true; initial-value: #f2d27a; }
21+@property --sky { syntax: '<color>'; inherits: true; initial-value: #22336e; }
22+@property --hill { syntax: '<color>'; inherits: true; initial-value: #0a1022; }
23+@property --hill2 { syntax: '<color>'; inherits: true; initial-value: #121a3a; }
24+:root {
25+ --wolf: #d9473f; --seer: #8b5cf6; --doctor: #14a3a3; --villager: #2f9e6a; --red: #e0483e; --gold: #f5c242;
26+ --ease: cubic-bezier(.32, .72, 0, 1); --spd: 1;
27+ --font-ui: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;
28+ --font-judge: ShoalJudge, "Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", serif;
29+ --coin: 64px; --side: 120px; --logw: 300px;
30+}
31+.night { --bg: #0d1326; --stage: #141c38; --card: rgba(20, 28, 58, .86); --ink: #e9e7f2; --muted: #9097b4; --line: #263055;
32+ --accent: #f2d27a; --sky: #22336e; --hill: #0a1022; --hill2: #121a3a; --ring: #c9a45c; --chip: rgba(255, 255, 255, .08); --win: #f2d27a; }
33+.day { --bg: #f3ead7; --stage: #fbf6ea; --card: rgba(255, 253, 247, .94); --ink: #2a2119; --muted: #7b6b58; --line: #e3d6bd;
34+ --accent: #d98a1f; --sky: #f7d9a3; --hill: #d9c29a; --hill2: #ead9b8; --ring: #b07a3e; --chip: rgba(60, 40, 10, .07); --win: transparent; }
35+@media (prefers-color-scheme: dark) {
36+ .day { --bg: #1d1915; --stage: #28221b; --card: rgba(40, 34, 27, .94); --ink: #f1e9da; --muted: #a99a86; --line: #3a3127;
37+ --accent: #e9a23b; --sky: #5a3f22; --hill: #17120d; --hill2: #2b2219; --chip: rgba(255, 255, 255, .07); }
38+}
39+* { box-sizing: border-box; }
40+html, body { margin: 0; height: 100%; overflow: hidden; }
41+body { background: #0d1326; color: var(--ink); font: 14px/1.5 var(--font-ui); -webkit-font-smoothing: antialiased; }
42+button { font: inherit; color: inherit; }
43+svg.ic { width: 1em; height: 1em; fill: currentColor; vertical-align: -.14em; flex: none; }
44+#app { height: 100%; display: grid; grid-template-rows: 52px minmax(0, 1fr) 64px; background: var(--bg); color: var(--ink);
45+ transition: --bg .6s, --stage .6s, --card .6s, --ink .6s, --muted .6s, --line .6s, --accent .6s, --sky .6s, --hill .6s, --hill2 .6s; }
46+
47+/* ---- header: title, the medallion, counts and switches ---------------------------------------------------------- */
48+header { position: relative; z-index: 6; display: flex; align-items: center; gap: 12px; padding: 0 16px;
49+ background: linear-gradient(180deg, rgba(0, 0, 0, .28), rgba(0, 0, 0, .12)); border-bottom: 1px solid var(--line); }
50+.day header { background: linear-gradient(180deg, rgba(120, 80, 20, .1), rgba(120, 80, 20, .03)); }
51+.brand { display: flex; align-items: baseline; gap: 8px; min-width: 0; white-space: nowrap; }
52+.brand b { font: 700 19px var(--font-judge); letter-spacing: .08em; }
53+.brand span { color: var(--muted); font-size: 13px; }
54+.badge { position: absolute; left: 50%; top: 4px; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 2px;
55+ width: 78px; height: 78px; margin-left: -39px; border-radius: 50%; color: #fff; font-family: var(--font-judge); font-weight: 700;
56+ background: radial-gradient(circle at 50% 30%, #3b57b8, #16245c 70%); border: 3px solid var(--ring);
57+ box-shadow: 0 0 0 3px rgba(0, 0, 0, .35), 0 0 22px rgba(120, 150, 255, .35), inset 0 -6px 12px rgba(0, 0, 0, .35); }
58+.day .badge { background: radial-gradient(circle at 50% 30%, #ffc75a, #d0731c 72%); box-shadow: 0 0 0 3px rgba(80, 40, 0, .25), 0 0 26px rgba(255, 180, 60, .55), inset 0 -6px 12px rgba(120, 50, 0, .3); }
59+.badge span { font-size: 13px; padding-top: 10px; }
60+.badge b { font-size: 34px; line-height: 1; text-shadow: 0 2px 0 rgba(0, 0, 0, .35); }
61+.badge img { position: absolute; top: -10px; right: -12px; width: 34px; height: 34px; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .4)); }
62+.badge.flip { animation: flipY calc(.6s / var(--spd)) var(--ease); }
63+@keyframes flipY { 0% { transform: rotateY(0); } 50% { transform: rotateY(90deg); } 100% { transform: rotateY(0); } }
64+.ribbon { position: absolute; left: 50%; bottom: -9px; z-index: 1; width: 260px; height: 8px; margin-left: -130px; border-radius: 0 0 6px 6px;
65+ background: linear-gradient(180deg, #ffd768, #e9a41e); box-shadow: 0 2px 8px rgba(233, 164, 30, .45); }
66+.tools { margin-left: auto; display: flex; align-items: center; gap: 8px; white-space: nowrap; }
67+.count { color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
68+.count b { color: var(--ink); }
69+.count .w { color: var(--wolf); } .count .g { color: var(--villager); }
70+.switch { display: flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px 0 8px; border: 1px solid var(--line); border-radius: 15px;
71+ background: var(--chip); cursor: pointer; font-size: 13px; }
72+.switch i { position: relative; width: 28px; height: 16px; border-radius: 8px; background: rgba(128, 128, 128, .45); transition: background .2s; }
73+.switch i::after { content: ''; position: absolute; left: 2px; top: 2px; width: 12px; height: 12px; border-radius: 50%; background: #fff; transition: transform .2s var(--ease); }
74+.switch[aria-pressed=true] i { background: var(--accent); }
75+.switch[aria-pressed=true] i::after { transform: translateX(12px); }
76+.switch:disabled { opacity: .45; cursor: not-allowed; }
77+.iconbtn { display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--chip); cursor: pointer; font-size: 15px; }
78+.iconbtn b { font: 700 14px/1 Georgia, serif; }
79+
80+/* ---- the table: two columns of seats around the stage, the log on the right -------------------------------------- */
81+#table { position: relative; display: grid; min-height: 0; grid-template-columns: var(--side) minmax(0, 1fr) var(--side) var(--logw);
82+ grid-template-areas: "l s r g"; }
83+.col { display: flex; flex-direction: column; justify-content: space-evenly; align-items: center; min-height: 0; padding: 14px 0 8px; position: relative; z-index: 2; }
84+.col.l { grid-area: l; } .col.r { grid-area: r; }
85+.seat { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; padding: 0 6px; cursor: pointer;
86+ transition: opacity .3s, transform .25s var(--ease); -webkit-tap-highlight-color: transparent; }
87+.coin { position: relative; width: var(--coin); height: var(--coin); flex: none; }
88+.face { display: block; width: 100%; height: 100%; border-radius: 50%; background: var(--tint, #f3e4c4); border: 3px solid var(--ring);
89+ box-shadow: 0 0 0 2px rgba(0, 0, 0, .28), 0 6px 14px rgba(0, 0, 0, .28), inset 0 0 0 2px rgba(255, 255, 255, .5); transition: filter .4s, opacity .4s, border-color .3s, box-shadow .3s; }
90+.num { position: absolute; left: 50%; bottom: -12px; min-width: 28px; height: 28px; margin-left: -14px; padding: 0 4px; border-radius: 14px;
91+ background: radial-gradient(circle at 40% 30%, #4a5d96, #172152); border: 2px solid var(--ring); color: #fff; text-align: center;
92+ font: 700 18px/24px var(--font-judge); text-shadow: 0 1px 0 rgba(0, 0, 0, .5); box-shadow: 0 2px 6px rgba(0, 0, 0, .35); }
93+.day .num { background: radial-gradient(circle at 40% 30%, #8a5a2c, #4a2c12); }
94+.tag { position: absolute; top: -7px; right: -12px; z-index: 2; height: 19px; padding: 0 7px; border-radius: 10px 10px 10px 3px; color: #fff;
95+ font: 700 11px/19px var(--font-ui); white-space: nowrap; background: var(--c); box-shadow: 0 2px 6px rgba(0, 0, 0, .3); animation: pop .3s var(--ease); }
96+.Werewolf { --c: var(--wolf); } .Seer { --c: var(--seer); } .Doctor { --c: var(--doctor); } .Villager { --c: var(--villager); }
97+.kind { position: absolute; left: -5px; bottom: 1px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%;
98+ background: var(--stage); border: 1px solid var(--line); box-shadow: 0 1px 3px rgba(0, 0, 0, .3); }
99+.kind img { width: 14px; height: 14px; }
100+.kind.me { background: #3fbf5a; border-color: #2c8f42; color: #fff; font-size: 11px; font-weight: 700; }
101+.vcount { position: absolute; top: -6px; left: -8px; z-index: 2; min-width: 22px; height: 22px; border-radius: 11px; background: var(--red); color: #fff;
102+ font: 700 13px/22px var(--font-ui); text-align: center; box-shadow: 0 2px 6px rgba(0, 0, 0, .35); animation: pop .25s var(--ease); }
103+.mic { position: absolute; top: -8px; left: -8px; z-index: 2; width: 26px; height: 26px; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .4)); animation: pop .3s var(--ease); }
104+.zzz { position: absolute; top: -10px; right: -8px; width: 26px; height: 26px; animation: doze 2.4s ease-in-out infinite; }
105+@keyframes doze { 0%, 100% { transform: translateY(0); opacity: .9; } 50% { transform: translateY(-4px); opacity: .55; } }
106+.marks { position: absolute; right: -14px; bottom: 6px; z-index: 2; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
107+.mk { display: flex; align-items: center; gap: 2px; height: 20px; padding: 0 5px; border-radius: 10px; color: #fff; font-size: 11px; font-weight: 700;
108+ background: var(--c); box-shadow: 0 1px 4px rgba(0, 0, 0, .35); animation: pop .3s var(--ease); white-space: nowrap; }
109+.mk.kill { --c: var(--wolf); } .mk.heal { --c: var(--doctor); } .mk.eye { --c: var(--seer); }
110+.claws { position: absolute; inset: 6px; z-index: 1; color: var(--red); opacity: .85; animation: slash .35s var(--ease); pointer-events: none; }
111+.claws svg { width: 100%; height: 100%; fill: currentColor; filter: drop-shadow(0 0 3px rgba(0, 0, 0, .6)); }
112+@keyframes slash { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
113+.stamp { position: absolute; left: -8px; right: -8px; top: 34%; z-index: 3; padding: 1px 0; border: 2px solid var(--red); border-radius: 5px;
114+ color: var(--red); background: rgba(255, 240, 235, .85); text-align: center; font: 700 15px/1.2 var(--font-judge); letter-spacing: .25em; text-indent: .25em;
115+ transform: rotate(-12deg); animation: stamp .3s cubic-bezier(.3, 1.6, .5, 1); box-shadow: 0 2px 8px rgba(0, 0, 0, .3); }
116+@keyframes stamp { from { opacity: 0; transform: rotate(-12deg) scale(1.8); } }
117+.seat .name { max-width: 100%; margin-top: 15px; overflow: hidden; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
118+.seat .sub { max-width: 100%; min-height: 16px; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
119+.seat .sub.note { color: #e9a23b; font-style: italic; }
120+.seat .sub.pick { color: var(--wolf); font-weight: 700; }
121+.seat.dead .face { filter: grayscale(1) brightness(.75); opacity: .55; }
122+.seat.dead .name { opacity: .6; }
123+.seat.talk .face { border-color: var(--gold); animation: breathe calc(1.2s / var(--spd)) ease-in-out infinite; }
124+@keyframes breathe { 0%, 100% { box-shadow: 0 0 0 2px rgba(0, 0, 0, .28), 0 0 10px 2px rgba(245, 194, 66, .45); } 50% { box-shadow: 0 0 0 2px rgba(0, 0, 0, .28), 0 0 26px 8px rgba(245, 194, 66, .75); } }
125+.seat.hit .face { border-color: var(--c, var(--accent)); box-shadow: 0 0 0 2px rgba(0, 0, 0, .28), 0 0 18px 4px var(--c, var(--accent)); }
126+.seat.can .face { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(0, 0, 0, .2), 0 0 16px 3px rgba(245, 194, 66, .7); }
127+.seat.can:hover { transform: translateY(-2px); }
128+.seat.cannot { opacity: .4; cursor: default; }
129+.seat.picked .face { border-color: var(--act, var(--red)); box-shadow: 0 0 0 3px var(--act, var(--red)), 0 0 22px var(--act, var(--red)); }
130+.seat .ok { position: absolute; left: 50%; top: 50%; z-index: 3; display: grid; place-items: center; width: 30px; height: 30px; margin: -15px 0 0 -15px; border-radius: 50%;
131+ background: var(--act, var(--red)); color: #fff; font-size: 17px; font-weight: 700; box-shadow: 0 0 0 2px #fff, 0 2px 8px rgba(0, 0, 0, .4); animation: pop .25s var(--ease); }
132+.seat.filtered .face { box-shadow: 0 0 0 3px var(--accent); }
133+.config { width: calc(100% - 16px); padding: 7px 6px 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--chip); text-align: center; }
134+.config small { display: block; margin-bottom: 4px; color: var(--muted); font-size: 11px; letter-spacing: .1em; }
135+.config div { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 4px; }
136+.config span { display: flex; align-items: center; justify-content: center; gap: 1px; font-size: 12px; font-variant-numeric: tabular-nums; }
137+.config img { width: 22px; height: 22px; }
138+
139+/* ---- the stage: sky, village, status line, one scene at a time ------------------------------------------------- */
140+#stage { grid-area: s; position: relative; display: flex; flex-direction: column; align-items: center; min-width: 0; min-height: 0;
141+ padding: 34px 14px 12px; overflow: hidden; background: radial-gradient(ellipse 80% 70% at 70% -8%, var(--sky), transparent 70%), var(--stage);
142+ border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
143+.night #stage::before { content: ''; position: absolute; inset: 0 0 30% 0; pointer-events: none; opacity: .8;
144+ background: radial-gradient(1.5px 1.5px at 12% 20%, #fff, transparent), radial-gradient(1px 1px at 25% 8%, #fff, transparent),
145+ radial-gradient(1.5px 1.5px at 38% 30%, #dfe6ff, transparent), radial-gradient(1px 1px at 52% 14%, #fff, transparent),
146+ radial-gradient(1px 1px at 63% 36%, #fff, transparent), radial-gradient(1.5px 1.5px at 82% 24%, #fff, transparent),
147+ radial-gradient(1px 1px at 90% 44%, #cfd8ff, transparent), radial-gradient(1px 1px at 8% 48%, #fff, transparent),
148+ radial-gradient(1px 1px at 46% 52%, #fff, transparent), radial-gradient(1.5px 1.5px at 72% 6%, #fff, transparent);
149+ animation: twinkle 5s ease-in-out infinite alternate; }
150+@keyframes twinkle { to { opacity: .45; } }
151+.night #stage::after { content: ''; position: absolute; top: 64px; left: 9%; width: 54px; height: 54px; border-radius: 50%; pointer-events: none;
152+ background: radial-gradient(circle at 38% 38%, #fffbe6, #f2d27a 60%, #c9a45c); box-shadow: 0 0 40px 12px rgba(242, 210, 122, .25); opacity: .55; }
153+.day #stage::after { content: ''; position: absolute; top: -30px; left: 4%; width: 140px; height: 140px; border-radius: 50%; pointer-events: none;
154+ background: radial-gradient(circle, rgba(255, 214, 120, .65), rgba(255, 214, 120, 0) 70%); }
155+.village { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 30%; pointer-events: none; }
156+.village .v1 { fill: var(--hill2); } .village .v2 { fill: var(--hill); } .village .win { fill: var(--win); }
157+.status { position: relative; z-index: 2; max-width: 100%; padding: 4px 16px; border-radius: 16px; background: rgba(0, 0, 0, .32); color: #fff;
158+ font-size: 15px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
159+.day .status { background: rgba(70, 45, 10, .72); }
160+.status .sec { color: var(--gold); font-weight: 700; font-variant-numeric: tabular-nums; }
161+.status .sec.warn { color: #ffb020; } .status .sec.hot { color: #ff5a4a; }
162+.order { position: relative; z-index: 2; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; min-height: 26px; margin-top: 8px; }
163+.order i { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--chip); border: 1px solid var(--line);
164+ font: 700 12px/1 var(--font-ui); font-style: normal; color: var(--ink); transition: all .3s; }
165+.order i.done { opacity: .35; }
166+.order i.now { background: var(--gold); border-color: var(--gold); color: #3a2a06; transform: scale(1.15); }
167+.order small { align-self: center; margin-right: 4px; color: var(--muted); font-size: 11px; }
168+.scene { position: relative; z-index: 2; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; min-height: 0; padding: 6px 0 4px; }
169+.tabs { display: none; position: absolute; top: 6px; right: 8px; z-index: 5; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; background: var(--chip); }
170+.tabs button { height: 24px; padding: 0 10px; border: 0; background: none; font-size: 12px; cursor: pointer; color: var(--muted); }
171+.tabs button[aria-pressed=true] { background: var(--accent); color: #2a2119; }
172+
173+.judge { position: relative; min-width: 240px; max-width: min(460px, 100%); padding: 14px 22px 13px; border: 1px solid var(--line); border-radius: 16px;
174+ background: var(--card); text-align: center; box-shadow: 0 14px 34px rgba(0, 0, 0, .28); animation: rise calc(.45s / var(--spd)) var(--ease); }
175+.night .judge { border-color: rgba(242, 210, 122, .28); }
176+.judge .jl { display: inline-flex; align-items: center; gap: 5px; margin-bottom: 4px; color: var(--muted); font-size: 12px; letter-spacing: .2em; }
177+.judge .jl svg { width: 16px; height: 16px; color: var(--accent); }
178+.judge h3 { margin: 0; font: 700 22px/1.35 var(--font-judge); color: var(--ink); letter-spacing: .04em; }
179+.night .judge h3 { color: #f6e3a6; }
180+.judge h3 em, .board em, .act em, .msg em { font-style: normal; color: var(--accent); }
181+.judge p { margin: 6px 0 0; color: var(--ink); font-size: 14px; }
182+.judge p.god { color: var(--muted); font-size: 13px; }
183+.judge .en { margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
184+.judge .act { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 8px; font-size: 15px; }
185+.judge .act svg { width: 26px; height: 26px; color: var(--c); }
186+.judge .role { display: inline-block; padding: 0 8px; border-radius: 9px; color: #fff; background: var(--c); font-size: 13px; font-weight: 700; }
187+@keyframes rise { from { opacity: 0; transform: translate(-10px, 14px); } }
188+@keyframes pop { from { opacity: 0; transform: scale(.6); } }
189+.reveal { width: 92px; height: 112px; margin: 10px auto 2px; perspective: 600px; }
190+.reveal > div { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; animation: turn calc(.9s / var(--spd)) var(--ease) forwards; }
191+.reveal .fc { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 12px;
192+ backface-visibility: hidden; border: 2px solid var(--ring); }
193+.reveal .front { background: repeating-linear-gradient(45deg, #2a3570 0 8px, #222c60 8px 16px); color: var(--gold); font: 700 36px var(--font-judge); }
194+.reveal .back { transform: rotateY(180deg); background: var(--card); border-color: var(--c); }
195+.reveal .back img { width: 64px; height: 64px; }
196+.reveal .back b { margin-top: 2px; color: var(--c); font-size: 14px; }
197+@keyframes turn { 0%, 30% { transform: rotateY(0); } 100% { transform: rotateY(180deg); } }
198+
199+.say { position: relative; z-index: 2; display: flex; flex-direction: column; width: 100%; max-width: 540px; animation: rise calc(.4s / var(--spd)) var(--ease); }
200+.bubble { position: relative; padding: 12px 18px 14px; border: 1px solid var(--line); border-radius: 18px; background: var(--card); box-shadow: 0 14px 34px rgba(0, 0, 0, .26); }
201+.bubble::before { content: ''; position: absolute; top: 22px; width: 16px; height: 16px; background: var(--card); border: 1px solid var(--line); transform: rotate(45deg); }
202+.say.L .bubble::before { left: -9px; border-width: 0 0 1px 1px; } .say.R .bubble::before { right: -9px; border-width: 1px 1px 0 0; }
203+.bubble .who { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; color: var(--muted); font-size: 13px; }
204+.bubble .who b { color: var(--ink); font-size: 14px; }
205+.bubble .who .lbl { margin-left: auto; color: var(--gold); font-size: 12px; }
206+.bubble .text { max-height: 34vh; overflow-y: auto; font-size: 16px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
207+.bubble .text.wait { color: var(--muted); font-size: 15px; }
208+.bubble .bar { height: 3px; margin-top: 10px; border-radius: 2px; background: var(--chip); overflow: hidden; }
209+.bubble .bar i { display: block; height: 100%; width: 0; background: var(--gold); }
210+.dots i { display: inline-block; width: 5px; height: 5px; margin-left: 3px; border-radius: 50%; background: currentColor; animation: blink 1.2s infinite; }
211+.dots i:nth-child(2) { animation-delay: .2s; } .dots i:nth-child(3) { animation-delay: .4s; }
212+@keyframes blink { 0%, 100% { opacity: .2; } 40% { opacity: 1; } }
213+.why { display: flex; gap: 6px; margin: 8px 6px 0; color: var(--muted); font-size: 13px; font-style: italic; line-height: 1.5; cursor: pointer; }
214+.why img { width: 18px; height: 18px; flex: none; margin-top: 1px; }
215+.why span { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
216+.why.open span { display: block; }
217+.portrait { position: absolute; bottom: 4px; z-index: 1; width: 132px; height: 132px; border-radius: 50%; background: var(--tint); border: 3px solid var(--gold);
218+ box-shadow: 0 0 30px rgba(245, 194, 66, .35); animation: rise calc(.5s / var(--spd)) var(--ease); }
219+.portrait.L { left: 14px; } .portrait.R { right: 14px; }
220+.pnum { position: absolute; bottom: 0; z-index: 1; min-width: 40px; height: 40px; border-radius: 20px; border: 2px solid var(--gold);
221+ background: radial-gradient(circle at 40% 30%, #4a5d96, #172152); color: #fff; font: 700 26px/36px var(--font-judge); text-align: center; }
222+.pnum.L { left: 118px; } .pnum.R { right: 118px; }
223+.day .pnum { background: radial-gradient(circle at 40% 30%, #8a5a2c, #4a2c12); }
224+
225+.board { width: 100%; max-width: 480px; padding: 12px 16px 12px; border: 1px solid var(--line); border-radius: 16px; background: var(--card);
226+ box-shadow: 0 14px 34px rgba(0, 0, 0, .26); animation: rise calc(.4s / var(--spd)) var(--ease); }
227+.board.still { animation: none; }
228+.board .bh { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font: 700 17px var(--font-judge); }
229+.board .bh img { width: 28px; height: 28px; }
230+.board .bh small { margin-left: auto; color: var(--muted); font: 12px var(--font-ui); }
231+.br { display: flex; align-items: center; gap: 8px; min-height: 34px; padding: 3px 6px; border-radius: 10px; transition: background .3s; }
232+.br.top { background: rgba(224, 72, 62, .16); }
233+.br .tg { display: flex; align-items: center; gap: 6px; width: 38%; min-width: 0; font-weight: 600; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
234+.br .ar { color: var(--muted); }
235+.br .vs { flex: 1; display: flex; flex-wrap: wrap; gap: 3px; }
236+.br .vs .mc.new { animation: fly calc(.3s / var(--spd)) var(--ease); }
237+.br b { color: var(--red); font-variant-numeric: tabular-nums; white-space: nowrap; }
238+@keyframes fly { from { opacity: 0; transform: translate(-30px, 12px) scale(.5); } }
239+.board .res { margin-top: 8px; padding-top: 8px; border-top: 1px dashed var(--line); text-align: center; font: 700 17px var(--font-judge); animation: pop .35s var(--ease); }
240+.board .sum { margin-top: 4px; text-align: center; color: var(--muted); font-size: 13px; letter-spacing: .05em; }
241+.mc { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: radial-gradient(circle at 40% 30%, #4a5d96, #172152);
242+ border: 1px solid var(--ring); color: #fff; font: 700 11px/1 var(--font-ui); font-style: normal; flex: none; vertical-align: -4px; }
243+.day .mc { background: radial-gradient(circle at 40% 30%, #8a5a2c, #4a2c12); }
244+
245+.banner { position: absolute; left: -14px; right: -14px; top: 30%; z-index: 4; display: flex; align-items: center; justify-content: center; gap: 16px; height: 96px;
246+ color: #fff; font: 700 32px var(--font-judge); letter-spacing: .12em; pointer-events: none; text-shadow: 0 2px 10px rgba(0, 0, 0, .6); opacity: 0;
247+ background: linear-gradient(90deg, transparent, rgba(4, 8, 26, .78) 16%, rgba(4, 8, 26, .78) 84%, transparent);
248+ animation: band calc(1.6s / var(--spd)) ease forwards; }
249+.banner.d { background: linear-gradient(90deg, transparent, rgba(120, 70, 10, .7) 16%, rgba(120, 70, 10, .7) 84%, transparent); }
250+.banner img { width: 70px; height: 70px; animation: risebody calc(1.2s / var(--spd)) var(--ease); }
251+@keyframes band { 0% { opacity: 0; transform: scaleY(.4); } 15%, 75% { opacity: 1; transform: none; } 100% { opacity: 0; } }
252+@keyframes risebody { from { transform: translateY(40px); opacity: 0; } }
253+#arrows { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
254+#arrows .a { fill: none; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw calc(.5s / var(--spd)) var(--ease) forwards;
255+ filter: drop-shadow(0 0 4px rgba(0, 0, 0, .5)); }
256+@keyframes draw { to { stroke-dashoffset: 0; } }
257+
258+/* ---- the log --------------------------------------------------------------------------------------------------- */
259+#log { grid-area: g; position: relative; z-index: 2; min-height: 0; overflow-y: auto; padding: 10px 12px 24px; font-size: 13px; line-height: 1.55;
260+ background: rgba(0, 0, 0, .14); scrollbar-width: thin; }
261+.day #log { background: rgba(120, 80, 20, .04); }
262+#log h4 { margin: 0 0 6px; color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .2em; }
263+.lg { margin: 3px 0; padding: 3px 6px; border-radius: 8px; cursor: pointer; }
264+.lg:hover { background: var(--chip); }
265+.lg.now { background: rgba(245, 194, 66, .16); }
266+.lg-div { display: flex; align-items: center; gap: 8px; margin: 12px 0 4px; color: var(--muted); font: 700 12px var(--font-judge); letter-spacing: .1em; cursor: pointer; }
267+.lg-div::before, .lg-div::after { content: ''; flex: 1; height: 1px; background: var(--line); }
268+.lg-j { text-align: center; color: var(--ink); font-family: var(--font-judge); font-weight: 700; }
269+.lg-say { display: flex; gap: 7px; align-items: flex-start; }
270+.lg-say .mc { margin-top: 1px; }
271+.lg-say .t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
272+.lg-say.open .t { display: block; }
273+.lg-say b { font-weight: 600; }
274+.lg-why { margin-top: 2px; color: var(--muted); font-size: 12px; font-style: italic; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
275+.lg-say.open .lg-why { display: block; }
276+.lg-v, .lg-g { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; color: var(--muted); font-size: 12px; }
277+.lg-g svg { width: 15px; height: 15px; color: var(--c); }
278+.lg-g .r { color: var(--c); font-weight: 700; }
279+.lg.hide { display: none; }
280+
281+/* ---- footer: replay controls or the seat's action bar ------------------------------------------------------------ */
282+footer { position: relative; z-index: 6; display: flex; align-items: center; gap: 10px; padding: 0 16px; border-top: 1px solid var(--line);
283+ background: linear-gradient(0deg, rgba(0, 0, 0, .3), rgba(0, 0, 0, .12)); }
284+.day footer { background: linear-gradient(0deg, rgba(120, 80, 20, .1), rgba(120, 80, 20, .03)); }
285+.ctl { display: flex; align-items: center; gap: 4px; }
286+.ctl button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
287+.ctl button:hover { background: var(--chip); }
288+.ctl button svg { width: 18px; height: 18px; }
289+.ctl button.play { width: 42px; height: 42px; background: var(--accent); color: #2a2119; }
290+.spd { height: 28px; padding: 0 10px; border: 1px solid var(--line); border-radius: 14px; background: transparent; cursor: pointer; font-size: 12px; font-variant-numeric: tabular-nums; }
291+.tl { flex: 1; display: flex; gap: 3px; height: 34px; min-width: 0; cursor: pointer; touch-action: none; user-select: none; }
292+.seg { position: relative; flex: var(--w) 1 0; min-width: 10px; display: grid; place-items: center; overflow: hidden; border-radius: 7px; font-size: 11px; color: var(--muted); }
293+.seg.n { background: rgba(70, 90, 170, .32); } .seg.d { background: rgba(232, 168, 60, .3); }
294+.seg i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: rgba(245, 194, 66, .45); }
295+.seg.past i { width: 100%; background: rgba(245, 194, 66, .22); }
296+.seg span { position: relative; white-space: nowrap; }
297+.seg.cur span { color: var(--ink); font-weight: 700; }
298+.act { flex: 1; display: flex; align-items: center; gap: 8px; min-width: 0; }
299+.act .msg { flex: 1; min-width: 0; color: var(--ink); font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
300+.act textarea { flex: 1; min-width: 0; height: 44px; max-height: 88px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 12px; resize: none;
301+ background: var(--chip); color: var(--ink); font: 14px/1.4 var(--font-ui); outline: none; }
302+.act textarea:focus { border-color: var(--accent); }
303+.btn { height: 36px; padding: 0 18px; border: 0; border-radius: 18px; background: var(--accent); color: #2a2119; font-weight: 700; cursor: pointer; white-space: nowrap; }
304+.btn.ghost { background: transparent; border: 1px solid var(--line); color: var(--ink); }
305+.btn.red { background: var(--red); color: #fff; }
306+.clock { position: relative; width: 34px; height: 34px; flex: none; }
307+.clock svg { width: 100%; height: 100%; transform: rotate(-90deg); }
308+.clock circle { fill: none; stroke-width: 3; }
309+.clock .bg { stroke: var(--line); } .clock .fg { stroke: var(--gold); stroke-linecap: round; transition: stroke-dashoffset .25s linear; }
310+.clock span { position: absolute; inset: 0; display: grid; place-items: center; font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }
311+
312+/* ---- overlays: role card, the end, credits ----------------------------------------------------------------------- */
313+#over { position: fixed; inset: 0; z-index: 20; display: none; place-items: center; padding: 16px; background: rgba(5, 8, 22, .88); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
314+#over.on { display: grid; animation: fade .3s; }
315+@keyframes fade { from { opacity: 0; } }
316+.card { position: relative; width: min(360px, 100%); max-height: 100%; overflow-y: auto; padding: 22px 22px 18px; border: 2px solid var(--c); border-radius: 20px; text-align: center; color: #f1ecff;
317+ background: radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .12), transparent 60%), linear-gradient(180deg, #1e2650, #10152e);
318+ box-shadow: 0 0 0 4px rgba(0, 0, 0, .3), 0 0 50px color-mix(in srgb, var(--c) 45%, transparent); animation: rise .5s var(--ease); }
319+.card small { color: #b8bddb; letter-spacing: .3em; font-size: 12px; }
320+.card h2 { margin: 2px 0 8px; font: 700 34px var(--font-judge); color: var(--c); letter-spacing: .1em; filter: brightness(1.25); }
321+.card .art { width: 150px; height: 150px; margin: 4px auto 8px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--c) 45%, transparent), transparent 70%); }
322+.card .art img { width: 150px; height: 150px; }
323+.card dl { margin: 0 0 14px; text-align: left; font-size: 14px; }
324+.card dt { margin-top: 8px; color: var(--c); font-weight: 700; filter: brightness(1.3); }
325+.card dd { margin: 2px 0 0; color: #e3e1f2; }
326+.card.about { --c: #c9a45c; text-align: left; font-size: 13px; line-height: 1.6; }
327+.card.about h2 { font-size: 20px; text-align: center; }
328+.card.about p { margin: 6px 0; color: #d9dcf0; }
329+.end { width: min(760px, 100%); max-height: 100%; overflow-y: auto; text-align: center; color: #fff; }
330+.end .hero { position: relative; width: 170px; height: 170px; margin: 0 auto; display: grid; place-items: center; }
331+.end .rays { position: absolute; inset: -60px; border-radius: 50%; animation: spin 24s linear infinite;
332+ background: repeating-conic-gradient(rgba(255, 214, 120, .30) 0 7deg, transparent 7deg 20deg);
333+ -webkit-mask: radial-gradient(circle, #000 25%, transparent 68%); mask: radial-gradient(circle, #000 25%, transparent 68%); }
334+.end.Werewolves .rays { background: repeating-conic-gradient(rgba(255, 90, 70, .32) 0 7deg, transparent 7deg 20deg); }
335+@keyframes spin { to { transform: rotate(360deg); } }
336+.end .hero img { position: relative; width: 150px; height: 150px; filter: drop-shadow(0 8px 20px rgba(0, 0, 0, .5)); animation: pop .6s var(--ease); }
337+.end h1 { margin: 6px 0 2px; font: 700 46px var(--font-judge); letter-spacing: .12em; color: #ffd768; text-shadow: 0 0 24px rgba(255, 200, 80, .6), 0 3px 0 rgba(0, 0, 0, .4);
338+ animation: big .5s var(--ease); }
339+.end.Werewolves h1 { color: #ff6a5a; text-shadow: 0 0 24px rgba(255, 80, 60, .6), 0 3px 0 rgba(0, 0, 0, .4); }
340+@keyframes big { from { transform: scale(1.6); opacity: 0; } }
341+.end .rs { margin: 0 0 4px; color: #cfd3ea; font-size: 14px; }
342+.end .you { margin: 2px 0; font: 700 22px var(--font-judge); color: #9ff0b0; }
343+.end .you.lost { color: #ff9a8a; }
344+.end .cards { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; margin: 16px 0 14px; }
345+.ec { position: relative; padding: 10px 4px 8px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 12px; background: rgba(255, 255, 255, .06); }
346+.ec.lose { opacity: .5; filter: grayscale(.5); }
347+.ec.win { border-color: rgba(255, 215, 104, .6); box-shadow: 0 0 16px rgba(255, 215, 104, .25); }
348+.ec .face { width: 48px; height: 48px; margin: 0 auto; border-width: 2px; }
349+.ec .rimg { position: absolute; top: 4px; right: 4px; width: 24px; height: 24px; }
350+.ec .n { margin-top: 2px; font: 700 15px var(--font-judge); }
351+.ec b { display: block; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
352+.ec .tg { display: inline-block; margin: 3px 0 2px; padding: 0 6px; border-radius: 8px; background: var(--c); font-size: 11px; font-weight: 700; }
353+.ec small { display: block; color: #b8bddb; font-size: 11px; }
354+.ec.me { outline: 2px solid #3fbf5a; }
355+.end .btns { display: flex; justify-content: center; gap: 10px; }
356+.end .btn.ghost { color: #fff; border-color: rgba(255, 255, 255, .3); }
357+.oldnote { margin: auto; padding: 24px; color: var(--muted); text-align: center; }
358+
359+/* ---- smaller frames ------------------------------------------------------------------------------------------- */
360+@media (max-width: 900px) {
361+ :root { --side: 100px; --coin: 52px; }
362+ #table { grid-template-columns: var(--side) minmax(0, 1fr) var(--side); grid-template-areas: "l s r"; }
363+ #log { grid-area: s; display: none; z-index: 4; background: var(--stage); border-left: 1px solid var(--line); border-right: 1px solid var(--line); padding-top: 38px; }
364+ #app.logtab #log { display: block; background: var(--stage); }
365+ .tabs { display: flex; }
366+ .num { font-size: 16px; min-width: 24px; height: 24px; margin-left: -12px; line-height: 20px; bottom: -10px; }
367+ .seat .name { margin-top: 12px; }
368+ .portrait { width: 96px; height: 96px; } .pnum.L { left: 86px; } .pnum.R { right: 86px; }
369+ .pnum { min-width: 32px; height: 32px; font-size: 20px; line-height: 28px; }
370+ .brand span, .count .w, .count .g, .count .sep { display: none; }
371+ .end .cards { gap: 6px; } .ec .face { width: 40px; height: 40px; } .ec .rimg { width: 20px; height: 20px; }
372+}
373+@media (max-height: 600px) and (min-width: 641px) {
374+ #stage { padding-top: 30px; }
375+ .bubble .text { max-height: 24vh; }
376+ .judge { padding: 10px 18px; }
377+ .portrait, .pnum { display: none; }
378+ .end .hero { width: 96px; height: 96px; } .end .hero img { width: 88px; height: 88px; } .end h1 { font-size: 32px; } .end .cards { margin: 10px 0; }
379+ .card .art, .card .art img { width: 110px; height: 110px; }
380+}
381+@media (max-width: 640px) {
382+ :root { --side: 64px; --coin: 44px; }
383+ #app { grid-template-rows: 46px minmax(0, 1fr) 58px; }
384+ header { padding: 0 8px; gap: 6px; }
385+ .brand b { font-size: 16px; }
386+ .badge { width: 58px; height: 58px; margin-left: -29px; top: 2px; }
387+ .badge b { font-size: 24px; } .badge span { font-size: 11px; padding-top: 6px; }
388+ .badge img { width: 24px; height: 24px; top: -6px; right: -8px; }
389+ .ribbon { width: 150px; margin-left: -75px; }
390+ .count { display: none; }
391+ .switch { padding: 0 6px; } .switch .lbl { display: none; }
392+ #table { grid-template-columns: var(--side) minmax(0, 1fr) var(--side); grid-template-rows: auto minmax(0, 1fr); grid-template-areas: "l s r" "l g r"; }
393+ .col { padding: 18px 0 6px; }
394+ #stage { padding: 20px 6px 8px; border-bottom: 1px solid var(--line); }
395+ #log { display: block; grid-area: g; padding: 6px 8px 16px; border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
396+ .tabs { display: none; }
397+ .village { height: 46%; }
398+ .status { font-size: 13px; padding: 3px 10px; }
399+ .order { margin-top: 5px; min-height: 20px; } .order i { width: 18px; height: 18px; font-size: 10px; } .order small { display: none; }
400+ .scene { flex: none; min-height: 150px; }
401+ .judge { min-width: 0; width: 100%; padding: 10px 12px; } .judge h3 { font-size: 18px; }
402+ .bubble { padding: 10px 12px; } .bubble .text { font-size: 14px; max-height: 22vh; }
403+ .board { padding: 8px 10px; } .br .tg { width: 42%; font-size: 12px; } .board .sum { display: none; }
404+ .portrait, .pnum { display: none; }
405+ .seat { padding: 0 2px; }
406+ .seat .name { font-size: 11px; margin-top: 11px; }
407+ .seat .sub { font-size: 10px; }
408+ .num { font-size: 14px; min-width: 20px; height: 20px; margin-left: -10px; line-height: 17px; bottom: -8px; border-width: 1.5px; }
409+ .tag { right: -8px; font-size: 10px; height: 17px; line-height: 17px; padding: 0 5px; }
410+ .kind { width: 17px; height: 17px; } .kind img { width: 12px; height: 12px; }
411+ .marks { right: -10px; } .mk { height: 17px; font-size: 10px; padding: 0 4px; }
412+ .stamp { font-size: 12px; left: -4px; right: -4px; }
413+ .config { width: calc(100% - 6px); padding: 5px 2px; } .config div { grid-template-columns: 1fr; } .config img { width: 18px; height: 18px; }
414+ .banner { font-size: 22px; height: 70px; top: 20%; } .banner img { width: 46px; height: 46px; }
415+ footer { padding: 0 8px; gap: 6px; }
416+ .ctl .prev, .ctl .next { display: none; }
417+ .end h1 { font-size: 32px; } .end .hero { width: 120px; height: 120px; } .end .hero img { width: 110px; height: 110px; }
418+ .end .cards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
419+ .act textarea { height: 40px; }
420+ .btn { padding: 0 12px; }
421+}
422+@media (prefers-reduced-motion: reduce) {
423+ *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
424+ .banner { display: none; }
425+}
426+</style>
427+</head>
428+<body>
429+<svg width="0" height="0" style="position:absolute" aria-hidden="true"><defs>
430+<symbol id="i-claw" viewBox="0 0 512 512"><path d="M182.338 22.55c152.455 20.22 254.7 176.264 228.928 258.163-34.76-89.215-143.516-189.588-300.207-196.15C255.855 103.772 355.365 245.5 342.92 329.856c-9.85.97-20.79.927-32.852-.24-41.436-84.32-146.004-172.382-292.437-178.513 142.546 18.907 241.2 156.557 232.36 241.316-15.664-.633-33.447-3.34-53.48-8.46 18.37 8.188 35.514 14.817 51.502 20.067-10.614 44.085-55.285 69.374-144.93 46.47C250 515.968 319.647 483.338 328.736 419.743c56.24 1.254 85.915-24.86 92.856-63.008 164.112-19.88 36.806-322.627-239.254-334.185zm132.808 318.083c7.97 2.704 15.666 5.077 23.07 7.11-3.122 7.893-7.546 14.993-13.35 21.095-2.393-9.222-5.635-18.663-9.72-28.205z"/></symbol>
431+<symbol id="i-shield" viewBox="0 0 512 512"><path d="M48.906 19.656v10.782c0 103.173 10.53 206.07 41.313 289.53 30.78 83.463 82.763 148.094 164.53 170.563l2.188.626 2.25-.5c89.686-19.12 142.322-84.028 171.187-168.344 28.865-84.315 35.406-188.656 35.406-291.875v-10.78l-10.655 1.53C323.26 39.954 191.452 40 59.595 21.188l-10.69-1.53zM67.75 41.03c63.242 8.536 126.495 12.792 189.75 12.782v184.532h174.78c-4.905 27.572-11.31 53.747-19.592 77.937-27.348 79.884-73.757 137.33-155.157 155.564-.008-.003-.02.003-.03 0v-233.5H86.53c-12.87-60.99-18.277-128.81-18.78-197.313z"/></symbol>
432+<symbol id="i-eye" viewBox="0 0 512 512"><path d="M18 18v15.797L179.434 215.41l9.484-16.424L28.04 18H18zm77.705 0l96.95 174.512 10.493-18.176L116.295 18h-20.59zm91.154 0c4.326 19.018 15.27 67.152 28.36 125.326.557 2.482 1.074 4.807 1.63 7.278l13.275-22.993C219.105 78.687 209.9 38.14 205.32 18h-18.46zM247 18v80.383l9-15.588 7.795 13.5L265 98.383V18h-18zm59.78 0l-24.51 110.297 13.314 23.058L325.22 18h-18.44zm88.925 0l-86.853 156.336 10.494 18.176L416.296 18h-20.59zm88.254 0L323.083 198.986l9.482 16.424L494 33.797V18h-10.04zM18 98.25v22.5l150.79 113.094 9.067-15.7L18 98.25zm476 0L334.145 218.143l9.064 15.7L494 120.75v-22.5zm-238 20.547l-74.656 129.308c20.297-9.102 46.254-14.35 74.656-14.35 28.402 0 54.36 5.248 74.656 14.35L256 118.797zm-238 70.34v19.226l136.05 51.018 9.122-15.804L18 189.136zm476 0l-145.172 54.44 9.123 15.804L494 208.364v-19.226zM18 249.18v18.14l122.615 15.326 9.77-16.92L18 249.18zm476 0l-132.383 16.547 9.768 16.92L494 267.32v-18.14zm-238 2.576c-14.737 0-26.49 11.75-26.49 26.488 0 8.536 3.948 16.065 10.13 20.895a28.09 28.09 0 0 1-1.384-8.603 28.09 28.09 0 0 1 28.09-28.09 28.09 28.09 0 0 1 13.02 3.223c-4.446-8.315-13.194-13.914-23.366-13.914zm-38.18 3.736c-12.656 2.568-23.93 6.328-33.082 10.904-17.63 8.815-26.21 19.758-26.21 29.594 0 9.837 8.58 20.777 26.21 29.592 17.63 8.815 43.077 14.643 71.262 14.643 28.185 0 53.632-5.828 71.262-14.643 17.63-8.815 26.21-19.755 26.21-29.592 0-9.836-8.58-20.78-26.21-29.594-9.153-4.576-20.426-8.336-33.082-10.904 4 6.67 6.31 14.453 6.31 22.752 0 24.465-20.025 44.49-44.49 44.49-24.465 0-44.49-20.025-44.49-44.49 0-8.3 2.31-16.083 6.31-22.752zm-83.867 38.694L18 308.68v18.14l104.666-13.082 11.287-19.552zm244.094 0l11.287 19.552L494 326.82v-18.14l-115.953-14.494zm-233.758 18.1l-57.112 98.92h337.644l-57.11-98.92c-5.763 12.078-17.677 22.035-32.4 29.398-20.907 10.452-48.695 16.54-79.312 16.54-30.617 0-58.405-6.088-79.31-16.54-14.725-7.363-26.64-17.32-32.4-29.4zm255.84 20.15l14.167 24.537L494 386.863v-19.226l-93.87-35.2zm-288.26.002L18 367.637v19.225l79.703-29.888 14.166-24.538zm-31.645 54.808L18 426.136v21.227l43.05-26.906 19.175-33.21zm351.55 0l19.174 33.21L494 447.364v-21.226l-62.225-38.89zm-350.82 41.96L18 484.29V494h16.238l74.05-64.795H80.956zm42.158 0L67.573 494h23.71l55.537-64.795h-23.707zm41.832 0L127.92 494h20.732l37.026-64.795h-20.733zm42.752 0c-8.665 28.96-15.66 51.885-19.61 64.794h18.82c4.678-15.314 11.433-37.537 19.573-64.795h-18.783zm39.303 0V494h18v-64.795h-18zm39.984 0L305.496 494h18.723l-18.515-64.795h-18.72zm39.338 0L363.348 494h20.732l-37.025-64.795h-20.733zm38.856 0L420.718 494h23.708l-55.54-64.795H365.18zm38.533 0L477.763 494H494v-9.71l-62.955-55.085H403.71z"/></symbol>
433+<symbol id="i-gavel" viewBox="0 0 512 512"><path d="M129.75 24.47L21.625 211.655l55.78 32.188L185.532 56.656 129.75 24.47zm55.97 69.25l-75.626 130.874L326.47 349.47l75.592-130.876L185.72 93.72zm83.468.686l-11.22 19.438 84.97 49.03 11.25-19.468-85-49zM434.25 200.22L326.156 387.405l55.78 32.188 108.095-187.188-55.78-32.187zm-270.53 76.905l-11.282 19.53 84.968 49 11.25-19.5-84.937-49.03zm-3.095 45.844L61.312 494.81h67.157l82.28-142.968-50.125-28.875z"/></symbol>
434+<symbol id="i-play" viewBox="0 0 24 24"><path d="M7 4.5v15l12.5-7.5z"/></symbol>
435+<symbol id="i-pause" viewBox="0 0 24 24"><path d="M6 4h4.5v16H6zM13.5 4H18v16h-4.5z"/></symbol>
436+<symbol id="i-prev" viewBox="0 0 24 24"><path d="M5 4h2.5v16H5zM20 4.5v15L8.5 12z"/></symbol>
437+<symbol id="i-next" viewBox="0 0 24 24"><path d="M16.5 4H19v16h-2.5zM4 4.5v15L15.5 12z"/></symbol>
438+<symbol id="i-look" viewBox="0 0 24 24"><path d="M12 5C6.5 5 2.7 9.4 1.5 12c1.2 2.6 5 7 10.5 7s9.3-4.4 10.5-7C21.3 9.4 17.5 5 12 5zm0 11.5A4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 0 1 0 9zm0-2.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></symbol>
439+<symbol id="i-sound" viewBox="0 0 24 24"><path d="M3 9h4l5-4v14l-5-4H3zM15.5 8.5a5 5 0 0 1 0 7l-1.4-1.4a3 3 0 0 0 0-4.2zM18.4 5.6a9 9 0 0 1 0 12.8L17 17a7 7 0 0 0 0-9.9z"/></symbol>
440+<symbol id="i-mute" viewBox="0 0 24 24"><path d="M3 9h4l5-4v14l-5-4H3zM15 9.4l1.4-1.4 2.6 2.6 2.6-2.6L23 9.4 20.4 12l2.6 2.6-1.4 1.4-2.6-2.6-2.6 2.6-1.4-1.4 2.6-2.6z"/></symbol>
441+</defs></svg>
442+<div id="app" class="night">
443+ <header>
444+ <div class="brand"><b>狼人杀</b><span id="mode">· 回放 · 7人局</span></div>
445+ <div class="ribbon"></div>
446+ <div class="badge" id="badge"><img alt="" src="assets/moon.png"><span>第</span><b>1</b><span>夜</span></div>
447+ <div class="tools">
448+ <span class="count" id="count"></span>
449+ <button class="switch" id="god" aria-pressed="true"><svg class="ic"><use href="#i-look"/></svg><span class="lbl">上帝视角</span><i></i></button>
450+ <button class="iconbtn" id="snd" title="声音"><svg class="ic"><use href="#i-mute"/></svg></button>
451+ <button class="iconbtn" id="about" title="关于"><b>i</b></button>
452+ </div>
453+ </header>
454+ <main id="table">
455+ <section class="col l" id="colL"></section>
456+ <section id="stage">
457+ <div class="tabs" id="tabs"><button aria-pressed="true" data-t="stage">舞台</button><button aria-pressed="false" data-t="log">记录</button></div>
458+ <div class="status" id="status">等待开局……</div>
459+ <div class="order" id="order"></div>
460+ <div class="scene" id="scene"></div>
461+ <svg class="village" viewBox="0 0 1000 200" preserveAspectRatio="xMidYMax slice" aria-hidden="true">
462+ <path class="v1" d="M0 120C90 80 170 104 260 86S420 40 520 78 700 52 800 84 940 96 1000 88V200H0Z"/>
463+ <path class="v2" d="M0 200V164H34V150L56 132 78 150V164H118V156L148 134 178 156V164H222V138H238V120L254 100 270 120V138H286V164H330L352 150 374 164H424V148L452 126 480 148V164H556V158L596 136 636 158V164H694V144L720 124 746 144V164H796V154L826 136 856 154V164H898L922 150 946 164H1000V200ZM190 164 200 136 210 164ZM508 164 520 132 532 164ZM868 164 878 140 888 164Z"/>
464+ <g class="win"><rect x="50" y="152" width="9" height="9"/><rect x="142" y="144" width="9" height="9"/><rect x="249" y="124" width="9" height="10"/><rect x="446" y="134" width="9" height="9"/><rect x="590" y="146" width="10" height="9"/><rect x="714" y="132" width="9" height="9"/><rect x="820" y="144" width="9" height="9"/></g>
465+ </svg>
466+ </section>
467+ <section class="col r" id="colR"></section>
468+ <aside id="log"></aside>
469+ <svg id="arrows"></svg>
470+ </main>
471+ <footer id="foot"></footer>
472+ <div id="over"></div>
473+</div>
474+<script src="bridge.js"></script>
475+<script>
476+'use strict'
477+const live = new URLSearchParams(location.search).has('live')
478+const $ = s => document.querySelector(s)
479+const app = $('#app')
480+const ROLE = {
481+ Werewolf: { zh: '狼人', img: 'werewolf', team: 'Werewolves', skill: '每晚和狼队友商量,选一名玩家出局。', goal: '白天装作好人混淆视听,夜里刀人;狼人数量追平好人即胜利。' },
482+ Seer: { zh: '预言家', img: 'seer', team: 'Villagers', skill: '每晚查验一名玩家,得知他的真实身份。', goal: '找出狼人,带领好人把他们放逐。' },
483+ Doctor: { zh: '医生', img: 'doctor', team: 'Villagers', skill: '每晚守护一名玩家(不能守自己),他当晚不会被狼人杀死。', goal: '保护好人,放逐所有狼人。' },
484+ Villager: { zh: '平民', img: 'villager', team: 'Villagers', skill: '没有特殊能力,白天发言、投票。', goal: '听发言找出狼人,放逐所有狼人。' },
485+}
486+const TEAM = { Werewolves: '狼人阵营', Villagers: '好人阵营' }
487+const AV = ['ada', 'eli', 'finn', 'iris', 'ivy', 'jade', 'kai', 'leo', 'luna', 'max', 'mia', 'nora', 'riley', 'sam', 'theo', 'zoe']
488+const TINT = ['#f4e1bd', '#dbe7f6', '#e3efd6', '#f6dcdc', '#e8def5', '#d9efec', '#f5e9cc']
489+const CIRCLED = '①②③④⑤⑥⑦'
490+const SECRET = new Set(['heal', 'inspect', 'wolf_vote', 'wolf_pick', 'saved'])
491+const STAGE = new Set(['phase', 'heal', 'inspect', 'wolf_vote', 'wolf_pick', 'saved', 'dawn', 'out', 'talk', 'turn', 'speech', 'vote_start', 'vote', 'tally', 'over'])
492+const VERB = { vote: '放逐', kill: '刀', heal: '守护', inspect: '查验' }
493+const ASKS = { vote: '放逐投票:点击头像,选择要放逐的人', kill: '狼人请选择今晚的目标:点击头像', heal: '选择今晚要守护的人:点击头像', inspect: '选择要查验的人:点击头像' }
494+const ACT_COLOR = { heal: 'doctor', saved: 'doctor', inspect: 'seer', vote: 'red' }
495+const esc = s => String(s ?? '').replace(/[&<>"]/g, c => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;' })[c])
496+const ic = (k, c) => `<svg class="ic"${c ? ` style="--c:var(--${c})"` : ''}><use href="#i-${k}"/></svg>`
497+const mc = (s, cls = '') => s == null ? '' : `<i class="mc ${cls}">${+s + 1}</i>`
498+const no = s => `<em>【${+s + 1}号】</em>`
499+const zh = r => ROLE[r]?.zh || '未知'
500+const left = s => +s < 4
501+function pref(k, d) { try { const v = localStorage.getItem('ww.' + k); return v == null ? d : v === '1' } catch { return d } }
502+function keep(k, v) { try { localStorage.setItem('ww.' + k, v ? '1' : '0') } catch {} }
503+
504+// ---- the game as drawn: the players, the events (in a room, a seat's own news carries _to) and what may be seen ------
505+let P = [...Array(7)].map((_, i) => ({ name: `${i + 1}号`, kind: 'bot', role: null }))
506+let E = [], faces = [], counts = null
507+let you = [], A = null, pick = null, sent = null, ended = false, mine = null, carded = false, overShown = false
508+const seenN = new Set()
509+let god = live ? false : pref('god', true), snd = pref('sound', false), filter = null
510+const godOn = () => god && (!live || ended)
511+const seen = e => !SECRET.has(e.kind) || godOn() || (e._to != null && you.includes(String(e._to)))
512+const wolfMe = () => you.some(s => P[+s].role === 'Werewolf')
513+
514+function fold(n) {
515+ const blank = () => [...Array(7)].map(() => ({}))
516+ const S = { phase: null, day: 0, alive: Array(7).fill(true), fate: Array(7).fill(null), shown: Array(7).fill(null), marks: blank(), know: blank(),
517+ picks: Array(7).fill(null), order: [], spoke: [], speaker: null, votes: null, tally: null, note: Array(7).fill(null), turn: null, over: null, saved: null }
518+ for (let i = 0; i < n; i++) {
519+ const e = E[i]
520+ if (!seen(e)) continue
521+ if (e.why && e.actor != null) S.note[e.actor] = e.why
522+ switch (e.kind) {
523+ case 'phase':
524+ S.phase = e.phase; S.day = e.day; S.marks = blank(); S.turn = null; S.speaker = null
525+ if (e.phase === 'night') { S.picks = Array(7).fill(null); S.votes = null; S.tally = null; S.order = []; S.spoke = []; S.saved = null }
526+ break
527+ case 'heal': S.marks[e.target].heal = 1; break
528+ case 'inspect': S.marks[e.target].eye = e.role; if (you.includes(String(e.actor))) S.know[e.target].eye = e.role; break
529+ case 'wolf_vote': S.picks[e.actor] = e.target; break
530+ case 'wolf_pick': if (e.target != null) S.marks[e.target].kill = 1; break
531+ case 'saved': S.saved = e.target; break
532+ case 'out': S.alive[e.who] = false; S.fate[e.who] = e; S.shown[e.who] = e.role; break
533+ case 'talk': S.order = e.order || []; S.spoke = []; break
534+ case 'turn': S.turn = e; if (e.what === 'chat') S.speaker = e.seat; break
535+ case 'speech': S.spoke.push(e.actor); S.speaker = e.actor; S.turn = null; break
536+ case 'vote_start': S.votes = {}; S.speaker = null; S.tally = null; break
537+ case 'vote': (S.votes ??= {})[e.actor] = e.target; S.turn = null; break
538+ case 'tally': S.tally = e; break
539+ case 'over': S.over = e; break
540+ }
541+ }
542+ return S
543+}
544+const fate = f => f ? (f.cause === 'night' ? `夜${f.day + 1} 被刀` : `天${f.day} 放逐`) : ''
545+const phaseName = e => e.phase === 'night' ? `第${e.day + 1}夜` : `第${e.day}天`
546+const reasonZh = o => !o || !o.winner ? '对局中止' : o.winner === 'Villagers' ? '狼人全部出局' : '狼人数量追平了好人'
547+
548+// ---- seats ------------------------------------------------------------------------------------------------------
549+function buildSeats() {
550+ const used = new Set()
551+ faces = P.map(p => { // a name keeps its face from game to game; two seats never share one
552+ let h = [...String(p.name)].reduce((a, c) => (a * 31 + c.codePointAt(0)) >>> 0, 7) % AV.length
553+ while (used.has(h)) h = (h + 1) % AV.length
554+ used.add(h); return AV[h]
555+ })
556+ const seat = s => `<div class="seat" data-s="${s}"><div class="coin" style="--tint:${TINT[s]}"><img class="face" alt="${s + 1}号" src="assets/avatars/${faces[s]}.svg"><span class="num">${s + 1}</span><span class="x"></span></div><div class="name"></div><div class="sub"></div></div>`
557+ $('#colL').innerHTML = [0, 1, 2, 3].map(seat).join('')
558+ $('#colR').innerHTML = [4, 5, 6].map(seat).join('') + '<div class="config" id="config"></div>'
559+ drawConfig()
560+}
561+function drawConfig() {
562+ const c = counts || { Werewolf: 2, Seer: 1, Doctor: 1, Villager: 3 }
563+ $('#config').innerHTML = `<small>本局配置</small><div>${['Werewolf', 'Seer', 'Doctor', 'Villager'].map(r => `<span title="${zh(r)}"><img alt="${zh(r)}" src="assets/${ROLE[r].img}.png">×${c[r] ?? 0}</span>`).join('')}</div>`
564+}
565+function tagOf(S, s) {
566+ if (S.shown[s]) return S.shown[s]
567+ if (S.over || godOn() || you.includes(String(s))) return P[s].role
568+ if (wolfMe() && P[s].role === 'Werewolf') return 'Werewolf'
569+ return null
570+}
571+function drawSeats(S, e) {
572+ const night = S.phase === 'night', got = {}
573+ if (S.votes) for (const t of Object.values(S.votes)) if (t != null) got[t] = (got[t] || 0) + 1
574+ const can = A && A.obs.request !== 'chat' ? new Set(A.legal.map(a => a.target).filter(t => t != null).map(String)) : null
575+ for (const el of document.querySelectorAll('.seat')) {
576+ const s = +el.dataset.s, p = P[s], tag = tagOf(S, s), m = S.marks[s], k = S.know[s], me = you.includes(String(s))
577+ const talking = S.speaker === s && S.phase === 'day' && e && (e.kind === 'speech' || e.kind === 'turn')
578+ const hit = e && SECRET.has(e.kind) && seen(e) && e.target === s ? `--c:var(--${ACT_COLOR[e.kind] || 'wolf'});` : ''
579+ el.className = 'seat' + (S.alive[s] ? '' : ' dead') + (talking ? ' talk' : '') + (hit ? ' hit' : '') +
580+ (can ? (can.has(String(s)) ? ' can' : ' cannot') : '') + (pick === s ? ' picked' : '') + (filter === s ? ' filtered' : '')
581+ el.style.cssText = hit + (pick === s ? `--act:var(--${{ heal: 'doctor', inspect: 'seer' }[A?.obs.request] || 'wolf'})` : '')
582+ let x = ''
583+ if (tag) x += `<span class="tag ${tag}">${zh(tag)}</span>`
584+ x += me ? '<span class="kind me">你</span>' : `<span class="kind" title="${{ human: '真人', agent: 'agent', auto: '托管' }[p.kind] || 'bot'}"><img alt="" src="assets/${p.kind === 'human' ? 'person' : 'robot'}.png"></span>`
585+ if (got[s]) x += `<span class="vcount">${got[s]}</span>`
586+ else if (talking) x += '<img class="mic" alt="" src="assets/mic.png">'
587+ const mk = []
588+ if (m.kill && S.alive[s]) mk.push(`<span class="mk kill">${ic('claw')}</span>`)
589+ if (m.heal) mk.push(`<span class="mk heal">${ic('shield')}</span>`)
590+ const eye = m.eye || k.eye
591+ if (eye) mk.push(`<span class="mk eye">${ic('eye')}${eye === 'Werewolf' ? '狼' : '好人'}</span>`)
592+ if (mk.length) x += `<span class="marks">${mk.join('')}</span>`
593+ if (S.fate[s]?.cause === 'night') x += `<span class="claws">${ic('claw')}</span>`
594+ if (!S.alive[s]) x += '<span class="stamp">出局</span>'
595+ else if (night && !godOn() && !S.over && !(me && A)) x += '<img class="zzz" alt="" src="assets/zzz.png">'
596+ if (pick === s) x += '<span class="ok">✓</span>'
597+ const slot = el.querySelector('.x')
598+ if (slot.dataset.h !== x) { slot.innerHTML = x; slot.dataset.h = x }
599+ el.querySelector('.name').textContent = p.name
600+ const sub = el.querySelector('.sub')
601+ const pk = night && S.picks[s] != null && (godOn() || wolfMe()) ? `刀 → ${S.picks[s] + 1}号` : ''
602+ const note = godOn() && S.note[s] && S.alive[s] ? S.note[s] : ''
603+ sub.className = 'sub' + (S.fate[s] ? '' : pk ? ' pick' : note ? ' note' : '')
604+ sub.textContent = S.fate[s] ? fate(S.fate[s]) : pk || note || ({ human: '真人', agent: 'agent', auto: '托管' }[p.kind] || '')
605+ sub.title = note
606+ }
607+}
608+
609+// ---- the stage ---------------------------------------------------------------------------------------------------
610+function judge(title, body = '', en = '', extra = '') {
611+ return `<div class="judge"><div class="jl">${ic('gavel')}法官</div><h3>${title}</h3>${body}${extra}${en ? `<div class="en">${esc(String(en).split('\n')[0])}</div>` : ''}</div>`
612+}
613+const isCJK = ch => /[⺀-鿿＀-￯]/.test(ch)
614+const typeMs = t => Math.min(24000, Math.max(800, [...String(t)].reduce((ms, ch) => ms + (isCJK(ch) ? 25 : 16), 0))) // 40 字/s, 60 letters/s
615+function bubble(s, why, wait) {
616+ const side = left(s) ? 'L' : 'R'
617+ return `<div class="say ${side}"><div class="bubble"><div class="who">${mc(s)}<b>${esc(P[s].name)}</b><span class="lbl">发言中</span></div>` +
618+ `<div class="text${wait ? ' wait' : ''}">${wait ? `正在组织语言<span class="dots"><i></i><i></i><i></i></span>` : ''}</div><div class="bar"><i></i></div></div>` +
619+ (why ? `<div class="why" title="点开看全文"><img alt="想法" src="assets/thought.png"><span>${esc(why)}</span></div>` : '') + '</div>' +
620+ `<img class="portrait ${side}" alt="" src="assets/avatars/${faces[s]}.svg" style="--tint:${TINT[s]}"><span class="pnum ${side}">${s + 1}</span>`
621+}
622+function board(S, e, fresh) {
623+ const votes = S.votes || {}, by = {}
624+ for (const [v, t] of Object.entries(votes)) (by[t ?? 'x'] ??= []).push(+v)
625+ const rows = Object.entries(by).filter(([t]) => t !== 'x').sort((a, b) => b[1].length - a[1].length)
626+ const T = e.kind === 'tally' ? e : null, newest = e.kind === 'vote' && fresh ? e.actor : null
627+ const chips = vs => vs.map(v => mc(v, v === newest ? 'new' : '')).join('')
628+ let h = `<div class="board${e.kind === 'vote' ? ' still' : ''}"><div class="bh"><img alt="" src="assets/ballot.png">放逐投票<small>依次投票 · 已投 ${Object.keys(votes).length} 人</small></div>`
629+ for (const [t, vs] of rows) h += `<div class="br${T && +t === T.exiled ? ' top' : ''}"><span class="tg">${mc(t)}${esc(P[t].name)}</span><span class="ar">←</span><span class="vs">${chips(vs)}</span><b>${vs.length} 票</b></div>`
630+ if (by.x) h += `<div class="br"><span class="tg">弃票</span><span class="ar">←</span><span class="vs">${chips(by.x)}</span><b></b></div>`
631+ if (!rows.length && !by.x) h += `<div class="br"><span class="tg" style="color:var(--muted)">等待第一张票……</span></div>`
632+ if (T) {
633+ const top = rows.length ? rows[0][1].length : 0
634+ const res = T.exiled == null ? '无人被放逐' : T.tie ? `${T.tie.map(no).join('和')}平票,随机抽中${no(T.exiled)}` : `${no(T.exiled)}被放逐(${top}票)`
635+ h += `<div class="res">${res}</div><div class="sum">${rows.map(([t, vs]) => `${vs.map(v => CIRCLED[v]).join('')} → ${CIRCLED[t]}`).join(' ')}</div>`
636+ }
637+ return h + '</div>'
638+}
639+function nightCard(e) {
640+ const call = { heal: '医生请睁眼', inspect: '预言家请睁眼', wolf_vote: '狼人请睁眼', wolf_pick: '狼人请闭眼', saved: '医生请闭眼' }[e.kind]
641+ if (!seen(e)) return judge(call, '<p class="god">上帝视角关着:天亮才知道结果</p>')
642+ const line = (c, k, h) => `<div class="act" style="--c:var(--${c})">${ic(k)}${h}</div>`
643+ const body = {
644+ heal: () => line('doctor', 'shield', `${no(e.actor)}守护了${no(e.target)}`),
645+ inspect: () => line('seer', 'eye', `${no(e.actor)}查验${no(e.target)}:<span class="role ${e.role}">${zh(e.role)}</span>`),
646+ wolf_vote: () => line('wolf', 'claw', `${no(e.actor)}${e.target == null ? '没有选择' : `选择了${no(e.target)}`}`),
647+ wolf_pick: () => line('wolf', 'claw', `狼队选择了${e.target == null ? '空刀' : no(e.target)}`) + (e.tie ? `<p class="god">${e.tie.map(no).join('、')}票数相同,随机定刀</p>` : ''),
648+ saved: () => line('doctor', 'shield', `医生守住了${no(e.target)}`),
649+ }[e.kind]()
650+ return judge(call, body)
651+}
652+function nightAsk(S) { // a seat woken at night: the judge's call and what this seat knows
653+ const w = A.obs.request, me = +A.to
654+ if (w === 'kill') {
655+ const mates = (A.obs.wolves || []).map(Number).filter(s => s !== me)
656+ const picks = mates.filter(s => S.picks[s] != null).map(s => `${no(s)}选择了${no(S.picks[s])}`).join(',')
657+ return judge('狼人请睁眼', `<p>点击头像,选择今晚要刀的人</p>${mates.length ? `<p class="god">狼队友:${mates.map(no).join('')}${picks ? `;${picks}` : ''}</p>` : ''}`)
658+ }
659+ if (w === 'heal') return judge('医生请睁眼', '<p>点击头像,选择今晚要守护的人(不能守自己)</p>')
660+ const known = E.filter(e => e.kind === 'inspect' && e._to === A.to).map(e => `${no(e.target)}${e.role === 'Werewolf' ? '是狼人' : '是好人'}`).join(',')
661+ return judge('预言家请睁眼', `<p>点击头像,选择要查验的人</p>${known ? `<p class="god">你已查验:${known}</p>` : ''}`)
662+}
663+function sceneHTML(S, e, i, fresh) {
664+ if (live && A && A.obs.phase === 'night') return nightAsk(S)
665+ if (!e) return judge('等待开局', '<p>七位玩家:两狼、一预言家、一医生、三平民</p>')
666+ const flip = r => `<div class="reveal ${r}"><div><div class="fc front">?</div><div class="fc back ${r}"><img alt="" src="assets/${ROLE[r]?.img || 'villager'}.png"><b>${zh(r)}</b></div></div></div>`
667+ switch (e.kind) {
668+ case 'phase': {
669+ const n = e.phase === 'night'
670+ return (fresh ? `<div class="banner${n ? '' : ' d'}"><img alt="" src="assets/${n ? 'moon' : 'sun'}.png">${n ? '天黑请闭眼' : '天亮了,请睁眼'}</div>` : '') +
671+ judge(phaseName(e), `<p>${n ? '天黑请闭眼,医生、预言家、狼人依次行动' : '天亮了,请睁眼'}</p>`, e.en)
672+ }
673+ case 'dawn': {
674+ let saved = null
675+ for (let j = i - 1; j >= 0 && !(E[j].kind === 'phase' && E[j].phase === 'night'); j--) if (E[j].kind === 'saved' && seen(E[j])) saved = E[j].target
676+ return judge(e.killed == null ? '昨晚是平安夜' : `昨晚${no(e.killed)}出局`, saved != null ? `<p class="god">(医生守住了${no(saved)})</p>` : '', e.en)
677+ }
678+ case 'out': return judge(`${no(e.who)}${e.cause === 'night' ? '出局' : '被放逐'},身份是${zh(e.role)}`, '', e.en, flip(e.role))
679+ case 'talk': return judge(e.order?.length ? `从${no(e.order[0])}开始发言` : '开始发言', '<p>按顺序,每人发言一次</p>', e.en)
680+ case 'speech': return bubble(e.actor, godOn() ? e.why : '', false)
681+ case 'turn': return e.what === 'chat' ? bubble(e.seat, '', true) : board(S, e, fresh)
682+ case 'vote_start': return judge('发言结束,开始放逐投票', '<p>依次投票,得票最多的人出局</p>', e.en)
683+ case 'vote': case 'tally': return board(S, e, fresh)
684+ case 'over': return judge(e.winner ? `${TEAM[e.winner]} 胜利` : '对局中止', `<p>${reasonZh(e)}</p>`, e.en)
685+ default: return nightCard(e)
686+ }
687+}
688+function drawStatus(S, e) {
689+ const sec = live ? ' <span class="sec" id="sec"></span>' : ''
690+ let h
691+ if (S.over) h = S.over.winner ? `游戏结束 · ${TEAM[S.over.winner]}胜利` : '游戏结束 · 对局中止'
692+ else if (!S.phase) h = '等待开局……'
693+ else if (A) h = { chat: '【你】发言中……', vote: '放逐投票中……', kill: '狼人请选择今晚的目标……', heal: '医生请选择守护的人……', inspect: '预言家请选择查验的人……' }[A.obs.request] + sec
694+ else if (S.phase === 'night') {
695+ const k = e && SECRET.has(e.kind) && seen(e) ? e.kind : null
696+ h = k === 'heal' || k === 'saved' ? '医生行动中……' : k === 'inspect' ? '预言家行动中……' : k ? '狼人行动中……' : '其他玩家行动中……'
697+ } else if (S.turn) h = `${you.includes(String(S.turn.seat)) ? '【你】' : `【${S.turn.seat + 1}号】`}${S.turn.what === 'chat' ? '发言中……' : '投票中……'}${sec}`
698+ else if (e?.kind === 'speech') h = `【${e.actor + 1}号】发言中……`
699+ else if (S.votes && !S.tally) h = '放逐投票中……'
700+ else if (S.tally) h = '投票结束'
701+ else h = '天亮了'
702+ $('#status').innerHTML = h
703+ const o = $('#order')
704+ if (S.phase === 'day' && S.order.length && !S.votes) {
705+ o.innerHTML = '<small>发言顺序</small>' + S.order.map(s => `<i class="${s === S.speaker ? 'now' : S.spoke.includes(s) ? 'done' : ''}">${s + 1}</i>`).join('')
706+ } else o.innerHTML = ''
707+}
708+function drawHeader(S, fresh) {
709+ const night = S.phase !== 'day', b = $('#badge'), d = S.phase ? (night ? S.day + 1 : S.day) : 1
710+ const h = `<img alt="" src="assets/${night ? 'moon' : 'sun'}.png"><span>第</span><b>${d}</b><span>${night ? '夜' : '天'}</span>`
711+ if (b.dataset.h !== h) { b.innerHTML = h; b.dataset.h = h; if (fresh) { b.classList.remove('flip'); void b.offsetWidth; b.classList.add('flip') } }
712+ app.classList.toggle('night', night); app.classList.toggle('day', !night)
713+ let c = `出局 <b>${S.alive.filter(a => !a).length}</b>/7`
714+ if (godOn() && P.every(p => p.role)) {
715+ const w = P.filter((p, s) => S.alive[s] && p.role === 'Werewolf').length, g = S.alive.filter(Boolean).length - w
716+ c += `<span class="sep"> · </span><span class="w">狼 ${w}</span><span class="sep"> · </span><span class="g">好人 ${g}</span>`
717+ }
718+ $('#count').innerHTML = c
719+ const gb = $('#god')
720+ gb.setAttribute('aria-pressed', String(godOn())); gb.disabled = live && !ended
721+ gb.title = live && !ended ? '上帝视角在对局结束后可用' : '上帝视角:身份、夜里的行动和每个人的想法'
722+}
723+function drawArrows(e) {
724+ const svg = $('#arrows'), show = e && e.actor != null && e.target != null && ((SECRET.has(e.kind) && seen(e)) || e.kind === 'vote')
725+ if (!show) { svg.innerHTML = ''; svg.dataset.k = ''; return }
726+ const key = E.indexOf(e) + ':' + innerWidth + 'x' + innerHeight
727+ if (svg.dataset.k === key) return
728+ svg.dataset.k = key
729+ const T = $('#table').getBoundingClientRect(), st = $('#stage').getBoundingClientRect()
730+ const at = s => { const r = document.querySelector(`.seat[data-s="${s}"] .coin`).getBoundingClientRect(); return [r.left + r.width / 2 - T.left, r.top + r.height / 2 - T.top] }
731+ const [x1, y1] = at(e.actor), [x2, y2] = at(e.target), mx = st.left - T.left + st.width / 2
732+ const qx = left(e.actor) === left(e.target) ? (left(e.actor) ? Math.min(x1, x2) + st.width * .35 : Math.max(x1, x2) - st.width * .35) : mx
733+ const col = `var(--${ACT_COLOR[e.kind] || 'wolf'})`
734+ svg.innerHTML = `<defs><marker id="ah" viewBox="0 0 10 10" refX="6" refY="5" markerWidth="4" markerHeight="4" orient="auto-start-reverse"><path d="M0 0L10 5 0 10z" style="fill:${col}"/></marker></defs>` +
735+ `<path class="a" pathLength="1" d="M${x1} ${y1}Q${qx} ${(y1 + y2) / 2 - 40} ${x2} ${y2}" style="stroke:${col}" marker-end="url(#ah)"/>`
736+}
737+
738+// ---- the log -------------------------------------------------------------------------------------------------------
739+function logHTML(n) {
740+ let h = '<h4>记录</h4>'
741+ const row = (i, a, cls, body) => `<div class="lg ${cls}" data-i="${i}"${a != null ? ` data-a="${a}"` : ''}>${body}</div>`
742+ const g = (c, k) => `<span style="--c:var(--${c})">${ic(k)}</span>`
743+ for (let i = 0; i < n; i++) {
744+ const e = E[i]
745+ if (!seen(e)) continue
746+ switch (e.kind) {
747+ case 'phase': h += `<div class="lg-div" data-i="${i}">${phaseName(e)}</div>`; break
748+ case 'heal': h += row(i, e.actor, 'lg-g', `${g('doctor', 'shield')} ${mc(e.actor)} 守护 ${mc(e.target)}`); break
749+ case 'inspect': h += row(i, e.actor, 'lg-g', `${g('seer', 'eye')} ${mc(e.actor)} 查验 ${mc(e.target)}:<span class="r" style="--c:var(--${e.role === 'Werewolf' ? 'wolf' : 'villager'})">${zh(e.role)}</span>`); break
750+ case 'wolf_vote': h += row(i, e.actor, 'lg-g', `${g('wolf', 'claw')} ${mc(e.actor)} → ${e.target == null ? '弃权' : mc(e.target)}`); break
751+ case 'wolf_pick': h += row(i, null, 'lg-g', `${g('wolf', 'claw')} 狼队选择了 ${e.target == null ? '空刀' : mc(e.target)}${e.tie ? '(平票随机)' : ''}`); break
752+ case 'saved': h += row(i, null, 'lg-g', `${g('doctor', 'shield')} 医生守住了 ${mc(e.target)}`); break
753+ case 'dawn': if (e.killed == null) h += row(i, null, 'lg-j', '昨晚是平安夜'); break
754+ case 'out': h += row(i, e.who, 'lg-j', `${e.cause === 'night' ? `昨晚 ${mc(e.who)} 出局` : `${mc(e.who)} 被放逐`} · ${zh(e.role)}`); break
755+ case 'talk': if (e.order?.length) h += row(i, null, 'lg-j', `从 ${mc(e.order[0])} 开始发言`); break
756+ case 'speech': h += row(i, e.actor, 'lg-say', `${mc(e.actor)}<div><b>${esc(P[e.actor].name)}</b>:<span class="t">${esc(e.text)}</span>${godOn() && e.why ? `<div class="lg-why">${esc(e.why)}</div>` : ''}</div>`); break
757+ case 'vote_start': h += row(i, null, 'lg-j', '开始放逐投票'); break
758+ case 'vote': h += row(i, e.actor, 'lg-v', `${mc(e.actor)} → ${e.target == null ? '弃票' : mc(e.target)}`); break
759+ case 'tally': h += row(i, null, 'lg-j', e.exiled == null ? '无人被放逐' : `${mc(e.exiled)} 得票最多${e.tie ? '(平票,随机抽中)' : ''}`); break
760+ case 'over': h += row(i, null, 'lg-j', e.winner ? `${TEAM[e.winner]}胜利` : '对局中止'); break
761+ case 'control': h += row(i, e.seat, 'lg-v', `${mc(e.seat)} 改由 ${esc(e.name)}(${{ human: '真人', agent: 'agent', auto: '托管', bot: 'bot' }[e.who] || e.who})操控`); break
762+ }
763+ }
764+ return h
765+}
766+function drawLog(n) {
767+ const log = $('#log'), key = n + ':' + godOn() + ':' + E.length
768+ if (log.dataset.k !== key) {
769+ log.dataset.k = key
770+ log.innerHTML = logHTML(n)
771+ const rows = log.querySelectorAll('[data-i]'), last = rows[rows.length - 1]
772+ if (last) { last.classList.add('now'); log.scrollTop = log.scrollHeight }
773+ }
774+ for (const r of log.querySelectorAll('.lg')) r.classList.toggle('hide', filter != null && r.dataset.a !== String(filter))
775+}
776+
777+// ---- one frame ---------------------------------------------------------------------------------------------------
778+let shownN = 0, sceneKey = ''
779+function lastScene(n) { for (let i = n - 1; i >= 0; i--) if (STAGE.has(E[i].kind) && (seen(E[i]) || !live)) return i; return -1 }
780+function render(n, fresh = false) {
781+ shownN = n
782+ const S = fold(n), k = lastScene(n), e = E[k]
783+ drawHeader(S, fresh)
784+ drawSeats(S, e)
785+ drawStatus(S, e)
786+ const key = [k, godOn(), e?.kind === 'vote' || e?.kind === 'turn' ? n : '', A?.version, innerWidth, innerHeight].join(':')
787+ if (key !== sceneKey) {
788+ sceneKey = key
789+ $('#scene').innerHTML = sceneHTML(S, e, k, fresh)
790+ if (e?.kind === 'speech') $('#scene .text').textContent = live || !fresh ? e.text : ''
791+ }
792+ drawLog(n)
793+ drawArrows(live && !fresh ? null : e)
794+ if (fresh && e) sfx({ phase: e.phase, vote: 'vote', out: 'out' }[e.kind])
795+ drawAct(S)
796+}
797+
798+// ---- overlays ----------------------------------------------------------------------------------------------------
799+function roleCard(c) {
800+ const r = ROLE[c.role] || ROLE.Villager, mates = (c.wolves || []).filter(w => w !== c.seat)
801+ $('#over').innerHTML = `<div class="card ${c.role}"><small>你的身份</small><h2>${r.zh}</h2><div class="art"><img alt="" src="assets/${r.img}.png"></div>` +
802+ `<dl><dt>技能</dt><dd>${r.skill}</dd><dt>目标</dt><dd>${r.goal}</dd>${mates.length ? `<dt>狼队友</dt><dd>${mates.map(w => `【${w + 1}号】`).join(' ')}</dd>` : ''}</dl>` +
803+ `<button class="btn" data-k="close">知道了</button></div>`
804+ $('#over').className = 'on'
805+}
806+function about() {
807+ $('#over').innerHTML = `<div class="card about"><h2>关于这张桌子</h2><p>规则和引擎:Google 的 kaggle-environments Werewolf(Apache-2.0)。</p>` +
808+ `<p>角色图和小图标:Microsoft Fluent Emoji(MIT)。头像:DiceBear Notionists,原作 Zoish(CC0)。</p>` +
809+ `<p>标记图标:game-icons.net,作者 Lorc、Delapouite(CC BY 3.0)。法官字体:Noto Serif SC 子集(SIL OFL 1.1)。</p>` +
810+ `<p>详见 viewer/NOTICE。</p><div style="text-align:center"><button class="btn" data-k="close">好的</button></div></div>`
811+ $('#over').className = 'on'
812+}
813+function endScreen(over) {
814+ const S = fold(E.length), w = over.winner
815+ const mineWon = you.length && w && you.some(s => ROLE[over.roles?.[+s] || P[+s].role]?.team === w)
816+ const cards = P.map((p, s) => {
817+ const r = over.roles?.[s] || p.role, won = w && ROLE[r]?.team === w
818+ return `<div class="ec ${won ? 'win' : w ? 'lose' : ''} ${r}${you.includes(String(s)) ? ' me' : ''}"><img class="face" alt="" src="assets/avatars/${faces[s]}.svg" style="--tint:${TINT[s]}"><img class="rimg" alt="" src="assets/${ROLE[r]?.img || 'villager'}.png">` +
819+ `<div class="n">${s + 1}号</div><b>${esc(p.name)}</b><span class="tg">${zh(r)}</span><small>${S.fate[s] ? fate(S.fate[s]) : '存活'}</small></div>`
820+ }).join('')
821+ $('#over').innerHTML = `<div class="end ${w || ''}"><div class="hero"><div class="rays"></div><img alt="" src="assets/${w === 'Werewolves' ? 'werewolf' : w ? 'villager' : 'zzz'}.png"></div>` +
822+ `<h1>${w ? `${TEAM[w]} 胜利` : '对局中止'}</h1><p class="rs">${reasonZh(over)}</p>` +
823+ (live && you.length && w ? `<p class="you${mineWon ? '' : ' lost'}">${mineWon ? '你赢了' : '你输了'}</p>` : '') +
824+ `<div class="cards">${cards}</div><div class="btns">${live ? '' : '<button class="btn" data-k="review">看复盘</button>'}<button class="btn ghost" data-k="close">看看桌面</button></div></div>`
825+ $('#over').className = 'on'
826+ sfx(w ? (you.length && !mineWon ? 'lose' : 'win') : null)
827+}
828+$('#over').addEventListener('click', ev => {
829+ const k = ev.target.closest('[data-k]')?.dataset.k
830+ if (!k) return
831+ $('#over').className = ''
832+ if (k === 'review') { god = true; keep('god', true); sceneKey = ''; go(0); play() }
833+})
834+
835+// ---- sound: off by default, WebAudio, nothing to load ---------------------------------------------------------------
836+let ac = null
837+function sfx(k) {
838+ const N = { night: [[196, 0, 1.4, 'sine'], [147, .06, 1.6, 'sine']], day: [[880, 0, .9, 'triangle'], [1320, .14, .9, 'triangle']], vote: [[1100, 0, .05, 'square']],
839+ out: [[90, 0, .5, 'sine'], [60, .02, .6, 'sine']], turn: [[1250, 0, .25, 'sine'], [1660, .12, .3, 'sine']],
840+ win: [[523, 0, .3, 'triangle'], [659, .15, .3, 'triangle'], [784, .3, .7, 'triangle']], lose: [[233, 0, 1.1, 'sawtooth'], [175, 0, 1.1, 'sine']] }[k]
841+ if (!snd || !N) return
842+ try {
843+ ac ??= new AudioContext()
844+ const t = ac.currentTime
845+ for (const [f, d, len, type] of N) {
846+ const o = ac.createOscillator(), g = ac.createGain()
847+ o.type = type; o.frequency.value = f
848+ g.gain.setValueAtTime(.0001, t + d); g.gain.exponentialRampToValueAtTime(type === 'square' ? .05 : .16, t + d + .02); g.gain.exponentialRampToValueAtTime(.0001, t + d + len)
849+ o.connect(g).connect(ac.destination); o.start(t + d); o.stop(t + d + len + .05)
850+ }
851+ } catch {}
852+}
853+
854+// ---- a replay: one beat per event, a timeline split by nights and days, speed ----------------------------------------
855+let B = [], at = 0, t0 = 0, playing = false, speed = 1, raf = 0, segs = []
856+const SPEEDS = [0.5, 1, 2, 4]
857+function dur(b) {
858+ const e = E[B[b]]
859+ if (!e) return 1000
860+ if (e.kind === 'speech') return typeMs(e.text) + 1400
861+ if (SECRET.has(e.kind)) return godOn() ? 1400 : 600
862+ return { phase: 1900, vote: 700, tally: 2800, dawn: 2100, out: 2100, over: 2500 }[e.kind] || 1500
863+}
864+function replayBar() {
865+ $('#foot').innerHTML = `<div class="ctl"><button class="prev" data-go="prev" title="上一步">${ic('prev')}</button><button class="play" data-go="play" title="播放 / 暂停">${ic('play')}</button>` +
866+ `<button class="next" data-go="next" title="下一步">${ic('next')}</button></div><button class="spd" id="spd" title="速度">1×</button><div class="tl" id="tl"></div>`
867+ segs = []
868+ B.forEach((i, b) => { if (E[i].kind === 'phase' || !segs.length) segs.push({ from: b, e: E[i], w: 0 }); segs.at(-1).w += dur(b) })
869+ segs.forEach((s, k) => { s.to = k + 1 < segs.length ? segs[k + 1].from : B.length })
870+ $('#tl').innerHTML = segs.map((s, k) => `<div class="seg ${s.e.phase === 'day' ? 'd' : 'n'}" data-k="${k}" style="--w:${Math.max(1, s.w / 1000).toFixed(1)}"><i></i><span>${s.e.kind === 'phase' ? (s.e.phase === 'night' ? `夜${s.e.day + 1}` : `天${s.e.day}`) : '开局'}</span></div>`).join('')
871+ $('#foot').addEventListener('click', ev => {
872+ const k = ev.target.closest('[data-go]')?.dataset.go
873+ if (k === 'play') return playing ? pause() : play()
874+ if (k === 'prev') { pause(); go(at - 1) }
875+ if (k === 'next') { pause(); go(at + 1) }
876+ })
877+ $('#spd').onclick = () => { speed = SPEEDS[(SPEEDS.indexOf(speed) + 1) % SPEEDS.length]; $('#spd').textContent = speed + '×'; document.documentElement.style.setProperty('--spd', speed) }
878+ const tl = $('#tl'), seek = ev => {
879+ const seg = document.elementFromPoint(ev.clientX, ev.clientY)?.closest('.seg')
880+ if (!seg) return
881+ const s = segs[+seg.dataset.k], r = seg.getBoundingClientRect(), f = Math.min(.999, Math.max(0, (ev.clientX - r.left) / r.width))
882+ const b = s.from + Math.floor(f * (s.to - s.from))
883+ if (b !== at) go(b)
884+ }
885+ tl.addEventListener('pointerdown', ev => { pause(); tl.setPointerCapture(ev.pointerId); seek(ev); tl.onpointermove = seek })
886+ tl.addEventListener('pointerup', () => { tl.onpointermove = null })
887+}
888+function drawTimeline(p) {
889+ const k = segs.findIndex(s => at >= s.from && at < s.to)
890+ document.querySelectorAll('.seg').forEach((el, j) => {
891+ el.classList.toggle('past', j < k); el.classList.toggle('cur', j === k)
892+ el.querySelector('i').style.width = j === k ? `${((at - segs[j].from + p) / (segs[j].to - segs[j].from) * 100).toFixed(1)}%` : ''
893+ })
894+}
895+function go(b, fresh = false) {
896+ at = Math.max(0, Math.min(B.length - 1, b)); t0 = performance.now()
897+ $('#over').className = ''
898+ render(B[at] + 1, fresh)
899+ tick(fresh ? 0 : 1)
900+ if (E[B[at]]?.kind === 'over') setTimeout(() => { if (E[B[at]]?.kind === 'over') endScreen(E[B[at]]) }, fresh ? 1400 / speed : 300)
901+}
902+function tick(p) {
903+ const e = E[B[at]]
904+ if (e?.kind === 'speech') {
905+ const full = typeMs(e.text), q = Math.min(1, p * (full + 1400) / full), chars = [...e.text]
906+ const t = $('#scene .text'); if (t) t.textContent = chars.slice(0, Math.ceil(chars.length * q)).join('')
907+ const bar = $('#scene .bar i'); if (bar) bar.style.width = (p * 100).toFixed(1) + '%'
908+ const lbl = $('#scene .lbl'); if (lbl) lbl.textContent = q < 1 ? '发言中' : '发言结束'
909+ }
910+ drawTimeline(p)
911+}
912+function frame(now) {
913+ if (!playing) return
914+ const p = Math.min(1, (now - t0) / (dur(at) / speed))
915+ tick(p)
916+ if (p >= 1) { if (at >= B.length - 1) return pause(); go(at + 1, true) }
917+ raf = requestAnimationFrame(frame)
918+}
919+function play() {
920+ if (at >= B.length - 1) go(0)
921+ playing = true; t0 = performance.now()
922+ $('[data-go=play]').innerHTML = ic('pause')
923+ cancelAnimationFrame(raf); raf = requestAnimationFrame(frame)
924+}
925+function pause() {
926+ playing = false; cancelAnimationFrame(raf)
927+ const b = $('[data-go=play]'); if (b) b.innerHTML = ic('play')
928+}
929+$('#scene').addEventListener('click', ev => {
930+ const why = ev.target.closest('.why'); if (why) return why.classList.toggle('open')
931+ const e = E[B[at]]
932+ if (!live && e?.kind === 'speech') { const full = typeMs(e.text) / speed; if (performance.now() - t0 < full) t0 = performance.now() - full; if (!playing) tick(1) }
933+})
934+addEventListener('keydown', ev => {
935+ if (live || ev.target.closest?.('textarea')) return
936+ if (ev.key === ' ') { ev.preventDefault(); playing ? pause() : play() }
937+ if (ev.key === 'ArrowRight') { pause(); go(at + 1) }
938+ if (ev.key === 'ArrowLeft') { pause(); go(at - 1) }
939+})
940+
941+// ---- a live room: the seat's role card, what it is asked, its answers ----------------------------------------------
942+function take(batch) {
943+ you = (batch.you || []).map(String)
944+ const before = E.length, first = !before, now = performance.now()
945+ let asked = null, overNow = null
946+ for (const m of batch.messages || []) {
947+ if (m.n != null) { if (seenN.has(m.n)) continue; seenN.add(m.n) }
948+ if (m.event) {
949+ let e = { ...m.event, _n: m.n, _at: now }
950+ if (e.type === 'control') { // kit/room.py's handover: kind there is the new controller's
951+ e = { kind: 'control', seat: +e.seat, who: m.event.kind, name: m.event.name, _n: m.n, _at: now }
952+ Object.assign(P[e.seat], { name: e.name, kind: e.who })
953+ }
954+ if (e.kind === 'start') { counts = e.roles; for (const [s, x] of Object.entries(e.seats || {})) Object.assign(P[+s], { name: x.name, kind: x.kind }) }
955+ if (e.kind === 'over') { ended = true; overNow = e; (e.roles || []).forEach((r, s) => { if (r) P[s].role = r }) }
956+ E.push(e)
957+ if (A && (e.actor === +A.to || e.kind === 'phase' || e.kind === 'over')) A = null
958+ if (sent && (e.actor === +sent.to || e.kind === 'phase')) sent = null
959+ } else if (m.legal) {
960+ if (you.includes(String(m.to))) { A = { ...m, at: now }; pick = null; sent = null; asked = A }
961+ } else if (m.obs && m.to != null) {
962+ const e = { ...m.obs, _to: String(m.to), _n: m.n, _at: now }
963+ if (e.kind === 'role') { P[e.seat].role = e.role; for (const w of e.wolves || []) P[w].role = 'Werewolf'; if (you.includes(e._to)) mine = e }
964+ E.push(e)
965+ if (A && e.actor === +A.to && e._to === A.to) A = null
966+ } else if (m.end) { ended = true; A = null }
967+ }
968+ E.sort((a, b) => (a._n ?? 0) - (b._n ?? 0)) // a seat's news revealed after the end slots back in its place
969+ if (A && !you.includes(String(A.to))) A = null
970+ if (first) buildSeats()
971+ drawConfig()
972+ $('#mode').textContent = `· 直播 · ${you.length ? `你是${+you[0] + 1}号` : '观战'}`
973+ render(E.length, !first && E.length - before <= 4)
974+ if (overNow && !overShown) { overShown = true; setTimeout(() => endScreen(overNow), first ? 0 : 900) }
975+ else if (mine && !carded && !ended) { carded = true; roleCard(mine) }
976+ if (asked && !first) { sfx('turn'); flashTitle() }
977+}
978+let flashT = 0
979+function flashTitle() {
980+ clearInterval(flashT); let k = 0
981+ flashT = setInterval(() => { document.title = k++ % 2 ? '狼人杀' : '轮到你了'; if (k > 9 || !A) { clearInterval(flashT); document.title = '狼人杀' } }, 700)
982+}
983+let actKey = ''
984+function drawAct(S) {
985+ if (!live) return
986+ const f = $('#foot'), me = you[0], dead = me != null && !S.alive[+me]
987+ const key = [ended, A?.version, pick, sent?.version, dead, S.phase, S.turn?._n, you.join()].join('|')
988+ if (key === actKey) return
989+ actKey = key
990+ const msg = h => `<div class="act"><div class="msg">${h}</div></div>`
991+ if (ended) f.innerHTML = msg('对局结束 · 上帝视角已可用')
992+ else if (A && A.obs.request === 'chat') {
993+ const old = $('#say')?.value || ''
994+ f.innerHTML = `<div class="act"><div class="clock" id="clock"><svg viewBox="0 0 36 36"><circle class="bg" cx="18" cy="18" r="15"/><circle class="fg" cx="18" cy="18" r="15" stroke-dasharray="94.25"/></svg><span></span></div>` +
995+ `<textarea id="say" maxlength="600" placeholder="说点什么……(Enter 发送,Shift+Enter 换行)"></textarea><button class="btn ghost" id="pass" title="不发言,直接过">过</button><button class="btn" id="send">发送</button></div>`
996+ const t = $('#say'); t.value = old; t.focus()
997+ t.onkeydown = ev => { if (ev.key === 'Enter' && !ev.shiftKey && !ev.isComposing) { ev.preventDefault(); answer({ type: 'chat', message: t.value }) } }
998+ $('#send').onclick = () => answer({ type: 'chat', message: t.value })
999+ $('#pass').onclick = () => answer({ type: 'chat', message: '' })
1000+ } else if (A) {
1001+ const w = A.obs.request
1002+ if (pick == null) f.innerHTML = `<div class="act"><div class="clock" id="clock"><svg viewBox="0 0 36 36"><circle class="bg" cx="18" cy="18" r="15"/><circle class="fg" cx="18" cy="18" r="15" stroke-dasharray="94.25"/></svg><span></span></div><div class="msg">${ASKS[w]}</div>${w === 'vote' ? '<button class="btn ghost" id="abst">弃票</button>' : ''}</div>`
1003+ else f.innerHTML = `<div class="act"><div class="msg">${VERB[w]}${no(pick)}${esc(P[pick].name)}?</div><button class="btn ghost" id="redo">换人</button><button class="btn${w === 'vote' || w === 'kill' ? ' red' : ''}" id="yes">确认${w === 'vote' ? '投票' : ''}</button></div>`
1004+ if ($('#abst')) $('#abst').onclick = () => answer({ type: 'vote', target: null })
1005+ if ($('#redo')) $('#redo').onclick = () => { pick = null; render(E.length) }
1006+ if ($('#yes')) $('#yes').onclick = () => answer(A.legal.find(a => a.target != null && +a.target === pick))
1007+ } else if (sent) f.innerHTML = msg(sent.type === 'chat' ? '发言已送出,等待其他人……' : `已${VERB[sent.type]}${sent.target == null ? '(弃票)' : no(sent.target)},等待其他人……`)
1008+ else if (!you.length) f.innerHTML = msg(S.phase === 'night' ? '天黑了 · 观战中,其他玩家行动中……' : '观战中 · 上帝视角在对局结束后可用')
1009+ else if (dead) f.innerHTML = msg('你已经出局,可以继续观看')
1010+ else if (S.phase === 'night') f.innerHTML = msg(P[+me].role === 'Villager' ? '天黑了,你闭着眼……' : '其他玩家行动中……')
1011+ else f.innerHTML = msg(S.turn ? `等待${no(S.turn.seat)}${S.turn.what === 'chat' ? '发言' : '投票'}……` : '等待其他玩家……')
1012+ clock()
1013+}
1014+function answer(action) {
1015+ if (!A || !action) return
1016+ shoalAct(A.to, A.version, action)
1017+ sent = { ...action, to: A.to, version: A.version }
1018+ A = null; pick = null
1019+ render(E.length)
1020+}
1021+function clock() { // a countdown from when the request (or a person's turn) arrived
1022+ let deadline = null, total = 30
1023+ if (A) { total = A.obs.seconds || 30; deadline = A.at + total * 1000 }
1024+ else {
1025+ const i = E.findLastIndex(e => e.kind === 'turn')
1026+ if (i >= 0 && !E.slice(i + 1).some(e => ['speech', 'vote', 'phase', 'over'].includes(e.kind))) { total = E[i].seconds || 30; deadline = E[i]._at + total * 1000 }
1027+ }
1028+ const sec = deadline == null ? null : Math.max(0, Math.ceil((deadline - performance.now()) / 1000))
1029+ const el = $('#sec')
1030+ if (el) { el.textContent = sec == null ? '' : sec + '秒'; el.className = 'sec' + (sec != null && sec <= 5 ? ' hot' : sec != null && sec <= 10 ? ' warn' : '') }
1031+ const c = $('#clock')
1032+ if (c && sec != null) { c.querySelector('span').textContent = sec; c.querySelector('.fg').style.strokeDashoffset = (94.25 * (1 - sec / total)).toFixed(1) }
1033+}
1034+
1035+// ---- input -------------------------------------------------------------------------------------------------------
1036+$('#table').addEventListener('click', ev => {
1037+ const seat = ev.target.closest('.seat'); if (!seat) return
1038+ const s = +seat.dataset.s
1039+ if (A && A.obs.request !== 'chat') {
1040+ if (A.legal.some(a => a.target != null && +a.target === s)) { pick = s; render(E.length) }
1041+ return
1042+ }
1043+ filter = filter === s ? null : s
1044+ render(shownN)
1045+})
1046+$('#log').addEventListener('click', ev => {
1047+ const say = ev.target.closest('.lg-say'); if (say) say.classList.toggle('open')
1048+ const r = ev.target.closest('[data-i]')
1049+ if (!live && r && B.length) { const b = B.findIndex(i => i >= +r.dataset.i); if (b >= 0) { pause(); go(b) } }
1050+})
1051+$('#god').onclick = () => { if (live && !ended) return; god = !god; if (!live) keep('god', god); sceneKey = ''; render(shownN); if (!live) tick(1) }
1052+$('#snd').onclick = () => { snd = !snd; keep('sound', snd); $('#snd').innerHTML = `<svg class="ic"><use href="#i-${snd ? 'sound' : 'mute'}"/></svg>`; sfx('turn') }
1053+$('#about').onclick = about
1054+$('#tabs').onclick = ev => {
1055+ const t = ev.target.closest('[data-t]')?.dataset.t; if (!t) return
1056+ app.classList.toggle('logtab', t === 'log')
1057+ for (const b of document.querySelectorAll('#tabs button')) b.setAttribute('aria-pressed', String(b.dataset.t === t))
1058+}
1059+addEventListener('resize', () => { sceneKey = ''; $('#arrows').dataset.k = ''; render(shownN); if (!live && B.length) tick(1) })
1060+
1061+$('#snd').innerHTML = `<svg class="ic"><use href="#i-${snd ? 'sound' : 'mute'}"/></svg>`
1062+buildSeats()
1063+render(0)
1064+if (live) { $('#mode').textContent = '· 直播'; shoalLive(take); setInterval(clock, 250) }
1065+else shoalReplay(text => {
1066+ let R = null
1067+ try { R = JSON.parse(text) } catch {}
1068+ if (!R || !Array.isArray(R.events) || !R.version) { $('#scene').innerHTML = '<div class="oldnote">这份回放是旧格式,牌桌放不了。</div>'; return }
1069+ P = R.players.map(p => ({ name: p.name || `${p.seat + 1}号`, kind: p.kind || 'bot', role: p.role }))
1070+ E = R.events
1071+ if (!E.some(e => e.kind === 'over')) E.push({ kind: 'over', winner: R.winner || null, reason: R.reason || 'stopped', roles: P.map(p => p.role) })
1072+ counts = P.reduce((m, p) => (m[p.role] = (m[p.role] || 0) + 1, m), {})
1073+ B = E.map((e, i) => STAGE.has(e.kind) ? i : -1).filter(i => i >= 0)
1074+ buildSeats(); replayBar()
1075+ $('#mode').textContent = '· 回放 · 7人局'
1076+ go(0); play()
1077+})
1078+</script>
1079+</body>
1080+</html>